Disallow Iterator (no-iterator)
The __iterator__
property can used to create custom iterators that are compatible with JavaScript’s for in
and for each
constructs. However, this property is not supported in many browsers, so it should be used with caution.
Foo.prototype.__iterator__ = function() {
return new FooIterator(this);
}
Rule Details
This rule is aimed at preventing errors that may arise from using the __iterator__
property, which is not implemented in several browsers. As such, it will warn whenever it encounters the __iterator__
property.
The following patterns are considered warnings:
Foo.prototype.__iterator__ = function() {
return new FooIterator(this);
};
foo.__iterator__ = function () {};
foo["__iterator__"] = function () {};
The following patterns are not considered warnings:
var __iterator__ = foo; // Not using the `__iterator__` property.
Further Reading
Version
This rule was introduced in ESLint 0.0.9.