Skip to content
← Back to rules

eslint/no-dupe-else-if 정확성

This rule is turned on by default.

작동 방식

이중 조건을 포함한 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

참고 자료