Skip to content
← Back to rules

eslint/for-direction 정확성

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

작동 방식

반복 조건이 잘못된 방향으로 카운터를 이동하는 for 루프를 금지하여, 반복문이 종료 조건에 도달할 수 없게 하는 상황을 방지합니다.

왜 좋지 않은가?

종료 조건에 도달할 수 없는 for 반복문은 무한히 실행됩니다. 무한 반복문은 의도적인 경우도 있지만, 일반적으로는 while 반복문으로 작성됩니다. 더 자주는 무한 for 반복문이 버그일 가능성이 큽니다.

예시

이 규칙에 부적절한 코드 예시:

js
/* for-direction: "error" */

for (var i = 0; i < 10; i--) {}

for (var i = 10; i >= 0; i++) {}

for (var i = 0; i > 10; i++) {}

for (var i = 0; 10 > i; i--) {}

const n = -2;
for (let i = 0; i < 10; i += n) {}

이 규칙에 적절한 코드 예시:

js
/* for-direction: "error" */

for (var i = 0; i < 10; i++) {}

for (var i = 0; 10 > i; i++) {
  // 카운터 "i"가 오른쪽에 위치함
}

for (let i = 10; i >= 0; i += this.step) {
  // 방향이 알 수 없음
}

for (let i = MIN; i <= MAX; i -= 0) {
  // 증가하거나 감소하지 않음
}

사용 방법

설정 파일 또는 명령줄 인터페이스에서 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:

json
{
  "rules": {
    "for-direction": "error"
  }
}
bash
oxlint --deny for-direction

참고 자료