Spec-Zone.ru › ESLint

no-iterator

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

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

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"*/

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

Версия

Это правило было добавлено в ESLint v0.0.9.

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

Итераторы и генераторы — JavaScript | MDN
null
Устаревшие и не рекомендуемые функции — JavaScript | MDN

Ресурсы

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

© 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