eslint/no-iterator 정확성
작동 방식
__iterator__ 속성의 사용을 금지합니다.
왜 문제인가요?
__iterator__ 속성은 자바스크립트에 대한 스파이더모크 확장 기능으로, 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; // __iterator__ 속성 사용하지 않음
Foo.prototype[Symbol.iterator] = function () {
return new FooIterator(this);
};사용 방법
구성 파일이나 명령줄 인터페이스를 통해 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:
json
{
"rules": {
"no-iterator": "error"
}
}bash
oxlint --deny no-iterator