Spec-Zone.ru › ESLint

no-iterator

Запрет использования свойства __iterator__

Свойство __iterator__ было расширением SpiderMonkey для JavaScript, которое можно было использовать для создания пользовательских итераторов, совместимых с конструкциями for in и for each в JavaScript. Однако это свойство устарело, поэтому его не следует использовать. Вот пример того, как оно работало раньше:

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

Вместо этого следует использовать итераторы и генераторы ECMAScript 6.

Подробности правила

Это правило предназначено для предотвращения ошибок, которые могут возникнуть при использовании свойства __iterator__, не реализованного в некоторых браузерах. Поэтому оно будет выдавать предупреждение при обнаружении свойства __iterator__.

Примеры неправильного кода для этого правила:

Открыть в Playground
/*eslint no-iterator: "error"*/

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

foo.__iterator__ = function () {};

foo["__iterator__"] = function () {};

Примеры правильного кода для этого правила:

Открыть в Playground
/*eslint no-iterator: "error"*/

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

Параметры

У этого правила нет параметров.

Версия

Это правило появилось в ESLint v0.0.9.

Дополнительные материалы

Итераторы и генераторы — JavaScript | MDN
developer.mozilla.org
null
kangax.github.io
Устаревшие и исключённые из употребления возможности — JavaScript | MDN
developer.mozilla.org

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-iterator

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API