eslint/no-iterator 限制
作用
禁止使用 __iterator__
屬性
為什麼這樣不好?
__iterator__
屬性是 SpiderMonkey 對 JavaScript 的擴充,可以用來建立與 JavaScript 的 for in 和 for each 結構相容的自訂迭代器。然而,這個屬性現在已經過時,因此不應該使用。以下是如何使用它的範例
js
Foo.prototype.__iterator__ = function () {
return new FooIterator(this);
};
範例
此規則的不正確程式碼範例
javascript
Foo.prototype.__iterator__ = function () {
return new FooIterator(this);
};
foo.__iterator__ = function () {};
foo["__iterator__"] = function () {};
此規則的正確程式碼範例
js
const __iterator__ = 42; // not using the __iterator__ property
Foo.prototype[Symbol.iterator] = function () {
return new FooIterator(this);
};