역방향 매핑
숫자형 열거에서 지원하는 기능
열거형의 키→값 혹은 값→키 접근 가능
문자형은 역방향 매핑이 불가능하다.
enum Colors {
Red = 0,
Green = 1,
Blue = 2,
}
console.log(Colors.Red); // 0 (키로 값 접근)
console.log(Colors[1]); // "Green" (값으로 키 접근)
console.log(Colors[2]); // "Blue"
상수형 열거
직접 값으로 인라인 처리되어 런타임 오버헤드가 없다.
역방향 매핑이 지원되지 않는다.
const enum Days {
Monday = 1,
Tuesday,
Wednesday,
}
const today = Days.Monday;
console.log(today); // 컴파일 시 1로 대체
Ambient 열거
declare 키워드를 사용하여 외부에서 정의된 열거형을 타입스크립트에 알려줄 때 사용
declare enum HttpStatus {
OK = 200,
NotFound = 404,
InternalServerError = 500,
}
// 외부 구현체가 제공된다고 가정
console.log(HttpStatus.OK); // 출력: 200 (외부 구현체로 동작)