Written by
Dohu Jeon
on
on
[Typescript] 이넘 (enum)
이넘 (Enum)
이넘은 특정 값들의 집합을 의미하는 자료형입니다.
타입스크립트에서는 문자형 이넘과 숫자형 이넘을 지원한다.
숫자형 이넘
타입스크립트에서 숫자형 이넘은 아래와 같이 선언한다.
초기값이 아래와 같이 없으면 0으로 인식되고, 차례로 1씩 증가한다.
enum Chocolates{
Toyou, // 0
Ghana, // 1
}
let snack = Chocolates.Toyou;
console.log(snack); // 0
Enum안 속성에 커서를 올려보면 값이 얼마인지 볼 수 있다.
enum Chocolates{
Toyou = 10, // 10
Ghana, // 11
}
let snack = Chocolates.Toyou;
console.log(snack); // 10
문자형 이넘
일단 문자형 이넘은 이넘 값 전부 다 특정 문자 또는 다른 이넘 값으로 초기화 해줘야 한다.
// 문자형 enum
enum Country{
asia = 'Korea',
europe = 'hungary',
}
let mapPoint = Country.asia;
console.log(mapPoint); // Korea
또한, 문자형 이넘에는 숫자형 이넘과는 다르게 auto-incrementing이 없다.
대신 디버깅을 할 때 숫자형 이넘의 값은 가끔 불명확하게 나올 떄가 있지만 문자형 이넘은 항상 명확한 값이 나와 읽기 편하다.
이넘 활용
이넘은 드롭다운 형식에 많이 사용된다.
enum Answer {
Yes = 'Y',
No = 'N',
}
function askQuestion(answer:Answer) {
if (answer === Answer.Yes) {
console.log('정답');
} else if (answer === Answer.No) {
console.log('오답');
}
}
// askQuestion('Yes') //enum값만 들어갈 수 있음
askQuestion(Answer.Yes);
Discussion and feedback