728x90
이넘은 특정 값들의 집합을 의미하는 자료형이다. 타입스크립트에서는 문자형 이넘과 숫자형 이넘을 지원 한다.
숫자형 이넘
enum Shoes{
Nike,
Adidas
}
var myShoes = Shoes.Nike;
console.log(myShoes) //0 출력 //별도의 값을 입력하지 않으면 숫자형 이넘으로 취급한다.
- 특정 값들의 집합을 의미하며, 별도의 값을 입력하지 않으면 숫자형 이넘으로 취급
문자형 이넘
enum Shoes {
Nike = '나이키',
Adidas = '아디다스',
}
var myShoes = Shoes.Nike;
console.log(myShoes) //나이키 출력 //별도의 값을 지정했기 때문에 해당 값으로 취긊한다.
- 별도의 값을 입력해 주었기 때문에 해당 값으로 취급하고, 그 값을 출력하는 것을 확인할 수 있다.
이넘 활용 사례
/*
function askQuestion(answer: string){
if(answer === 'yes'){
console.log('정답입니다')
}else if(answer === 'no'){
console.log('오답입니다')
}
}
askQuestion('yes')
askQuestion('예스') //다양한 형태로 값이 들어가면 안되지만 string일 경우 들어간다.
*/
enum Answer {
YES = 'Yes',
NO = 'No',
}
function askQuestion(answer: Answer){
if(answer === Answer.YES){
console.log('정답입니다')
}else if(answer === Answer.NO){
console.log('오답입니다')
}
}
askQuestion(Answer.YES) //이렇게 사용하지 않으면 오류가 난다.
askQuestion(Answer.NO)
- enum에서 제공되는 값만 사용할 수 있도록 제약하기 때문에 오류를 방지할 수 있다.
728x90