특정 값들의 집합을 의미하는 자료형
enum Shoes{
Nike, // 0
Adidas // 1
}
let myShoes = Shoes.Nike;
console.log(myShoes); // 0
enum Direction {
Up = 1,
Down,
Left,
Right
}
// 결과
Up - 1
Down - 2
Left - 3
Right - 4
enum Shoes{
Nike = '나이키',
Adidas = '아디다스'
}
let myShoes = Shoes.Nike;
console.log(myShoes);// '나이키'
function askQuestion(answer: string){
if(answer === 'yes'){
console.log('정답입니다');
}
if(answer === 'no'){
console.log('오답입니다');
}
}
askQuestion('yes');
askQuestion('예스');
askQuestion('y');
enum Answer {
Yes = 'Y',
No = 'N'
}
// answer 의 타입을 string -> Answer 이넘으로 변경
function askQuestion(answer: Answer){
if(answer === Answer.Yes){
console.log('정답입니다');
}
if(answer === Answer.No){
console.log('오답입니다');
}
}
askQuestion(Answer.Yes);
askQuestion('Yes'); // 에러 발생, 이넘을 이용해서 정의하면 이넘에서 제공하는 데이터만 사용 가능
enum
을 정의해서 사용하는 것이 정확한 코드, 예외 처리의 케이스를 줄일 수 있습니다.