Skip to content
← Back to rules

typescript/prefer-literal-enum-member 제한

작동 방식

명시적인 열거형 값은 반드시 리터럴 값(문자열, 숫자, 불리언 등)이어야 합니다.

왜 문제가 되는가?

타입스크립트는 열거형 멤버의 값을 다양한 종류의 유효한 자바스크립트 표현식으로 허용합니다.
그러나 열거형은 각 멤버가 해당 범위 내에서 변수가 되는 고유한 스코프를 생성하기 때문에, 개발자들은 결과적으로 얻어지는 값에 놀라게 됩니다.

예시

이 규칙에 위반되는 잘못된 코드 예시:

ts
const imOutside = 2;
const b = 2;
enum Foo {
  outer = imOutside,
  a = 1,
  b = a,
  c = b,
}

구성

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

allowBitwiseExpressions

type: boolean

기본값: false

true로 설정되면, 열거형 멤버 초기화식에서 비트 연산 표현식을 허용합니다.
이는 비트 부정(~), 논리곱(&), 논리합(|), 배타적 논리합(^), 그리고 시프트 연산자(<<, >>, >>>)를 포함합니다.

사용 방법

이 규칙을 구성 파일 또는 명령줄 인터페이스를 통해 활성화하려면 다음을 사용할 수 있습니다:

json
{
  "rules": {
    "typescript/prefer-literal-enum-member": "error"
  }
}
bash
oxlint --deny typescript/prefer-literal-enum-member

참고 자료