Eslint
规则 | Rules

no-iterator

禁止迭代器( no-iterator )

__iterator__属性是 JavaScript 的 SpiderMonkey 扩展,可用于创建与 JavaScript for infor each构造兼容的自定义迭代器。但是,这个属性现在已经过时了,所以不应该使用它。以下是过去如何工作的例子:

Foo.prototype.__iterator__ = function() { return new FooIterator(this }

您应该使用 ECMAScript 6 迭代器和生成器。

规则细节

此规则旨在防止使用该__iterator__属性时可能出现的错误,该错误在多个浏览器中未实现。因此,它会在遇到__iterator__财产时发出警告。

此规则的错误代码示例:

/*eslint no-iterator: "error"*/ Foo.prototype.__iterator__ = function() { return new FooIterator(this }; foo.__iterator__ = function () {}; foo["__iterator__"] = function () {};

此规则的正确代码示例:

/*eslint no-iterator: "error"*/ var __iterator__ = foo; // Not using the `__iterator__` property.

进一步阅读

版本

该规则在 ESLint 0.0.9 中引入。

资源