문자열도 할당 가능합니다. 다만 한 멤버를 문자열로 할당하면 그 다음부터는 전부 직접 값을 할당해야 합니다. 할당하지 않으면 에러가 발생합니다.
enum Level {
NOVICE, // 여기는 0
INTERMEDIATE = 'hello',
ADVANCED = 'oh',
MASTER,
}
// Enum member must have initializer.
enum 타입의 속성은 값으로도 활용할 수 있습니다.
enum Level {
NOVICE,
INTERMEDIATE,
ADVANCED,
MASTER,
}
const a = Level.NOVICE; // 0
const b = Level[Level.NOVICE]; // NOVICE