Skip to content
← Back to rules

typescript/no-mixed-enums Pedantic

💭 This rule requires type information.

무엇을 수행합니까

이 규칙은 문자열 및 숫자 멤버를 모두 가진 열거형을 허용하지 않습니다.

왜 좋지 않은가요?

타입스크립트 열거형은 문자열, 숫자 또는 계산된 멤버를 가질 수 있습니다. 동일한 열거형 내에서 문자열과 숫자 멤버를 혼합하면 타입스크립트가 열거형을 컴파일하는 방식으로 인해 혼란스럽고 예기치 않은 런타임 동작이 발생할 수 있습니다.

예시

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

ts
enum Status {
  Open = 1,
  Closed = "closed",
}

enum Direction {
  Up = "up",
  Down = 2,
  Left = "left",
  Right = 4,
}

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

ts
// 모두 숫자
enum Status {
  Open = 1,
  Closed = 2,
}

// 모두 문자열
enum Direction {
  Up = "up",
  Down = "down",
  Left = "left",
  Right = "right",
}

// 자동 증가 숫자
enum Color {
  Red,
  Green,
  Blue,
}

사용 방법

이 규칙을 구성 파일 또는 명령줄 인터페이스에서 활성화하려면 다음을 사용하세요:

json
{
  "rules": {
    "typescript/no-mixed-enums": "error"
  }
}
bash
oxlint --type-aware --deny typescript/no-mixed-enums

참고 자료