Skip to content
← Back to rules

eslint/no-constant-condition 정확성

This rule is turned on by default.

작동 방식

조건에서 상수 표현식을 허용하지 않음

왜 좋지 않은가?

조건으로 사용된 상수 표현식(예: 리터럴)은 오타이거나 특정 동작을 위한 개발용 트리거일 수 있음.

이 규칙은 다음의 조건에서 상수 표현식을 허용하지 않습니다:

  • if, for, while, 또는 do...while
  • ?: 삼항 연산자

예시

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

js
if (false) {
  doSomethingUnfinished();
}

if (new Boolean(x)) {
  doSomethingAlways();
}
if ((x ||= true)) {
  doSomethingAlways();
}

do {
  doSomethingForever();
} while ((x = -1));

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

js
if (x === 0) {
  doSomething();
}

while (typeof x === "undefined") {
  doSomething();
}

구성

이 규칙은 다음 속성을 가진 구성 객체를 받습니다:

checkLoops

type: "all" | "allExceptWhileTrue" | "none"

default: "allExceptWhileTrue"

루프 내에서 상수 조건을 확인할지 여부를 지정하는 구성 옵션.

  • "all" 또는 true: 루프 내에서 상수 표현식을 허용하지 않음
  • "allExceptWhileTrue": true 표현식을 갖는 while 문을 제외하고, 루프 내에서 상수 표현식을 허용하지 않음
  • "none" 또는 false: 루프 내에서 상수 표현식을 허용함

사용 방법

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

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

참고 자료