TypeScript에서 열거형(Enum) 타입으로 사용하기
각각의 열거형은 자체적인 데이터 타입을 생성합니다.
예를 들어, 현재 계절을 저장하는 변수에
Season 타입을 지정해 보겠습니다:
let current: Season;
우리 변수에 계절 번호를 할당해 봅시다:
let current: Season = Season.Winter;
console.log(current); // 0
계절 번호를 직접 지정할 수도 있습니다:
let current: Season = 3;
하지만 다른 타입의 데이터, 예를 들어 문자열을 할당하려고 하면 오류가 발생합니다:
let current: Season = 'str'; // 오류 발생
안타깝게도 값의 범위는 추적되지 않으며, 우리 열거형에 없는 번호를 할당하는 것이 가능합니다:
let current: Season = 7; // 오류가 발생하지 않음
typeof 연산자로 확인하면
우리 변수는 숫자 타입을 반환합니다:
let current: Season = 3;
console.log(typeof current); // "number"
결론적으로, 이러한 타입은 매우 엄격하게 검사되지 않아 그 가치가 의심스럽다고 말할 수 있습니다.