eslint/no-constant-condition 정확성
작동 방식
조건에서 상수 표현식을 허용하지 않음
왜 좋지 않은가?
조건으로 사용된 상수 표현식(예: 리터럴)은 오타이거나 특정 동작을 위한 개발용 트리거일 수 있음.
이 규칙은 다음의 조건에서 상수 표현식을 허용하지 않습니다:
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