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