이넘(Enums)
•
특정 값들의 집합을 의미하는 자료형.
이넘을 쓸 때 별도의 값을 지정하지 않으면 숫자형 이넘으로 취급한다.
enum Shoes {
Nike,
Adidas
}
var myShoes = Shoes.Nike;
console.log(myShoes); // 0
console.log(Shoes.Adidas); // 1 (1씩 증가한다)
TypeScript
복사
문자형 이넘
enum Shoes {
Nike = '나이키',
Adidas = '아디다스'
}
var myShoes = Shoes.Nike;
console.log(myShoes); // '나이키'
TypeScript
복사
이넘 활용
어떠한 함수가 있을 때 함수 파라미터로 여러 비슷한 의미의 파라미터를 넣는 상황이 생긴다.
function askQuestion(answer: string) {
if(answer === 'yes') {
console.log('정답입니다');
}
if(answer === 'no') {
console.log('오답입니다');
}
}
askQuestion('예스');
askQuestion('y');
askQuestion('Yes');
TypeScript
복사
이넘으로 변경
enum Answer {
Yes = 'Y',
No = 'N'
}
function askQuestion(answer: Answer) {
if(answer === Answer.Yes) {
console.log('정답입니다');
}
if(answer === Answer.No) {
console.log('오답입니다');
}
}
askQuestion(Answer.Yes);
askQuestion('Yes'); // error
TypeScript
복사