
no-iterator
不允許使用 __iterator__
屬性
__iterator__
屬性是 SpiderMonkey 對 JavaScript 的擴充,可以用於建立與 JavaScript 的 for in
和 for each
結構相容的自訂迭代器。然而,此屬性現在已過時,因此不應使用。以下是如何運作的範例:
Foo.prototype.__iterator__ = function() {
return new FooIterator(this);
}
您應該改用 ECMAScript 6 的迭代器和生成器。
規則詳情
此規則旨在預防因使用 __iterator__
屬性而可能產生的錯誤,因為該屬性未在多個瀏覽器中實作。因此,每當遇到 __iterator__
屬性時,它都會發出警告。
此規則的 **錯誤** 程式碼範例
在測試區開啟
/*eslint no-iterator: "error"*/
= function() {
return new FooIterator(this);
};
= function () {};
= function () {};
此規則的 **正確** 程式碼範例
在測試區開啟
/*eslint no-iterator: "error"*/
const __iterator__ = foo; // Not using the `__iterator__` property.
版本
此規則在 ESLint v0.0.9 中引入。
延伸閱讀

