타입스크립트 enum은 자바스크립트에는 없고 타입스크립트에서만 쓸 수 있다.
enum Mood {
happy,
blue,
excite,
sad
}
초기 값을 주지 않고 enum을 만들면 Mood.happy
는 자동으로 0이 할당되며 다음에 오는 멤버들은 1, 2, 3, ... 1씩 증가한 값을 가진다.
enum은 다음과 같이 사용할 수 있다.
enum Mood {
happy = 0,
blue,
excite,
sad
}
function howYourMood(intro: string, mood: Mood):void {
console.log(intro, mood);
}
howYourMood('My mood is ...', Mood.happy); // My mood is ... 0
다만 결과를 보면 알 수 있는 것처럼 의미 있는 일을 할 수는 없다.
의미있는 일을 하고싶으면 초기 값으로 문자열을 전달해줄 수 있다.
ennum member의 초기 값으로 문자열을 넣을 수도 있는데, 숫자 타입과 달리 다음에 올 값을 유추할 수 없기 때문에, 문자열을 넣는 경우 뒤의 멤버들의 초기 값도 모두 지정해줘야 한다.
enum Mood {
happy = 'happy!',
blue= 'blue...',
excite = 'hype..!',
sad = 'crying...'
}
위와 같은 예제를 써보자
enum Mood {
happy = 'happy!',
blue= 'blue...',
excite = 'hype..!',
sad = 'crying...'
}
function howYourMood(intro: string, mood: Mood):void {
console.log(intro, mood);
}
howYourMood('My mood is ...', Mood.excite); // My mood is ... hype..!