版本

no-iterator

不允許使用 __iterator__ 屬性

__iterator__ 屬性是 SpiderMonkey 對 JavaScript 的擴充,可以用於建立與 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"*/

const __iterator__ = foo; // Not using the `__iterator__` property.

版本

此規則在 ESLint v0.0.9 中引入。

延伸閱讀

Avatar image for kangax.github.io
null
kangax.github.io

資源

變更語言