enum 타입
- 여러가지 값들에 각각 이름을 부여해 열거해두고 사용하는 타입
숫자형 enum
- 값을 할당해주지 않아도 저절로 제일 위는 0번부터 할당해줌. 만약 제일 위를 10으로 할당해주고, 나머지 할당안해줘도 밑에는 순서대로 11, 12가 할당됨.
- 만약에 중간에 20을 할당하면, 다음 guest는 21이 할당되고, 만약 admin에 아무값을 할당해주지 않았다면 0이 할당됨.
enum Role {
ADMIN = 0,
USER = 1,
GUEST = 2,
}
문자형 enum
enum Language {
korean = "ko",
english = "en",
}
예제
enum Role {
ADMIN = 0,
USER = 1,
GUEST = 2,
}
enum Language {
korean = "ko",
english = "en",
}
type User = {
name: string;
role: number;
language: string;
};
const user1: User = {
name: "이정환",
role: Role.ADMIN,
language: Language.korean,
};
const user2: User = {
name: "홍길동",
role: Role.USER,
language: Language.korean,
};
const user3: User = {
name: "아무개",
role: Role.GUEST,
language: Language.english,
};
console.log(user1, user2, user3);
enum 특징: js로 컴파일해도 사라지지 않음.
