Skip to content
← Back to rules

eslint/no-iterator 정확성

This rule is turned on by default.
An auto-fix is available for this rule.

작동 방식

__iterator__ 속성의 사용을 금지합니다.

왜 문제인가요?

__iterator__ 속성은 자바스크립트에 대한 스파이더모크 확장 기능으로, for infor 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; // __iterator__ 속성 사용하지 않음

Foo.prototype[Symbol.iterator] = function () {
  return new FooIterator(this);
};

사용 방법

구성 파일이나 명령줄 인터페이스를 통해 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:

json
{
  "rules": {
    "no-iterator": "error"
  }
}
bash
oxlint --deny no-iterator

참고 자료