eslint/no-dupe-else-if 정확성
작동 방식
이중 조건을 포함한 if-else-if 체인에서 중복된 조건을 허용하지 않음
왜 문제가 되는가?
if-else-if 체인은 여러 가능한 브랜치 중에서 특정 조건에 따라 단 하나의 브랜치(또는 최대 하나의 브랜치)만 실행해야 할 때 일반적으로 사용됩니다. 같은 체인 내에서 두 개의 동일한 조건 검사문은 거의 항상 코드 오류입니다. 표현식에 부수 효과가 없다면, 중복된 조건은 체인 상에 앞서 있는 동일한 표현식과 동일한 참 또는 거짓 값을 평가하게 되며, 이로 인해 해당 브랜치는 결코 실행될 수 없습니다.
예시
이 규칙에 대해 잘못된 코드 예시:
javascript
if (a) {
foo();
} else if (b) {
bar();
} else if (b) {
baz();
}javascript
if (a || b) {
foo();
} else if (a) {
bar();
}javascript
if (n === 1) {
foo();
} else if (n === 2) {
bar();
} else if (n === 3) {
baz();
} else if (n === 2) {
quux();
} else if (n === 5) {
quuux();
}이 규칙에 대해 올바른 코드 예시:
javascript
if (a) {
foo();
} else if (b) {
bar();
} else if (c) {
baz();
}javascript
if (a || b) {
foo();
} else if (c) {
bar();
}javascript
if (n === 1) {
foo();
} else if (n === 2) {
bar();
} else if (n === 3) {
baz();
} else if (n === 4) {
quux();
} else if (n === 5) {
quuux();
}사용 방법
설정 파일이나 명령줄 인터페이스를 통해 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:
json
{
"rules": {
"no-dupe-else-if": "error"
}
}bash
oxlint --deny no-dupe-else-if