enum Shoes {
Nike,
Adidas
}
var myShoes = Shoes.Adidas; // 0
이넘을 사용할때 별도의 값을 지정하지 않으면 숫자형 이넘으로 취급한다. (Nike는 0, Adidas는 1 과 같이 순차적으로 값이 적용된다. 만약 Nike = 10과 같이 정의를 하면 Adidas는 11의 값을 가지게 된다.
enum Shoes2 {
Nike = '나이키',
Adidas = '아디다스'
}
var myShoes2 = Shoes.Nike;
console.log(myShoes); // 나이키
enum Answer {
Yes = 'Y',
No = 'N'
}
function askQuestion(answer: Answer) {
if(answer === Answer.Yes){
}
if(answer === Answer.No){
}
}
askQuestion(Answer.Yes);
이넘에서 제공하는 타입만 인자로 사용 가능하기 때문에 오류를 코드 작성시부터 피할 수 있고 부수적인 많은 예외처리를 생략할 수 있다.