열거형 타입 (Enum)
타입스크립트에서만 사용할 수 있는 특별한 타입으로, 여러개의 값을 나열하는 용도로 사용한다.
숫자 열거형 타입
enum Role {
ADMIN = 0,
USER = 1,
GUEST = 2,
}
const user1 = {
name: "woodstock",
role: Role.ADMIN, // 관리자
};
const user2 = {
name: "snoopy",
role: Role.GUEST, // 일반 유저
};
const user3 = {
name: "jerry",
role: Role.USER, // 게스트
};
다음과 같이 숫자값을 직접 할당하지 않으면 0부터 1씩 늘어나는 값으로 자동할당이 되는데,
enum Role {
ADMIN, // 0 할당(자동)
USER, // 1 할당(자동)
GUEST, // 2 할당(자동)
}
이렇게 시작하는 위치에 기본값을 설정해줄 수도 있다.
enum Role {
ADMIN = 10, // 10 할당
USER, // 11 할당(자동)
GUEST, // 12 할당(자동)
}
문자열 열거형 타입
enum Language {
korean = "ko",
english = "en",
}
const user1 = {
name: "고견",
role: Role.ADMIN, // 관리자
language: Language.korean,
};
enum의 컴파일 결과
enum은 컴파일될 때 다른 타입들처럼 사라지지 않고 자바스크립트 객체로 변환되기 때문에 값으로 사용할 수 있다.

'TIL' 카테고리의 다른 글
| [TS] any와 unknown (0) | 2025.10.28 |
|---|---|
| [TS] 타입 정의 연습 (0) | 2025.10.28 |
| [TS] 타입 별칭과 인덱스 시그니처 (0) | 2025.10.28 |
| [TS] 객체 타입 (0) | 2025.10.28 |
| [TS] 배열과 튜플 (0) | 2025.10.28 |
