Skip to content
← Back to rules

eslint/default-case 제한

작동 방식

모든 switch 문에서 default 경우를 포함하도록 강제하며, 구성된 주석으로 명시적으로 표시된 경우는 제외합니다.

왜 나쁜가요?

default 경우가 없으면 누락이 의도적인 것인지 실수인지 명확하지 않습니다. default를 추가하거나 특별한 주석을 넣으면 코드의 의도가 더 명확해지고 오류를 줄일 수 있습니다.

default 경우가 없을 경우 마지막 경우 뒤에 // no default를 선택적으로 포함할 수 있습니다. 주석은 원하는 대로 대소문자를 사용할 수 있으며, 예를 들어 // No Default처럼 작성할 수 있습니다.

예시 구성:

json
{
  "default-case": ["error", { "commentPattern": "^skip\\sdefault" }]
}

예시

이 규칙에 잘못된 코드 예시:

js
switch (foo) {
  case 1:
    break;
}

이 규칙에 올바른 코드 예시:

js
switch (a) {
  case 1:
    break;
  default:
    break;
}

switch (a) {
  case 1:
    break;
  // no default
}

구성

이 규칙은 다음 속성을 가진 구성 객체를 수용합니다.

commentPattern

type: string

default 경우가 의도적으로 생략되었음을 표시하는 주석을 감지하기 위한 정규표현식 패턴입니다.

기본값: no default.

{ "commentPattern": "^skip\\sdefault" } 옵션과 함께 이 규칙에 잘못된 코드 예시:

js
switch (a) {
  case 1:
    break;
  // no default
}

{ "commentPattern": "^skip\\sdefault" } 옵션과 함께 이 규칙에 올바른 코드 예시:

js
switch (a) {
  case 1:
    break;
  // skip default
}

사용 방법

이 규칙을 활성화하려면 구성 파일 또는 CLI에서 다음과 같이 사용할 수 있습니다:

json
{
  "rules": {
    "default-case": "error"
  }
}
bash
oxlint --deny default-case

참고 자료