enum
열거형 enum은 열거형은 상수들의 집합을 정의할 때 사용할 수 있다.
회원의 등급 등 상수에 대한 집합에 의미를 부여하게 된다.
Ex) 스타벅스의 회원등급에 대한 enum을 알아보자면
enum StarbuksGrade {
WELCOM,
GREEN,
GOLD
}
function getDiscount(v: StarbukGrade): number{
switch (v){
case StarbuksGrade.WELCOME:
return 0;
case StarbuksGrade.GREEN:
return 5;
case StarbuksGrade.GOLD:
return 10;
}
}
console.log(getDiscount(StarbuksGrade.GREEN));
console.log(StarbuksGrade.GREEN);
compile to
5
1 //여기서 1인 이유는 enum에 의해서 나열된 등급에서 GREEN이 1인 것이다.
즉 위에서 enum은 console.log(StarbuksGrade)
라고 하게 되면 객체의 형태로 표현이 되어 컴파일 되는 것을 볼 수 있기 때문이다.
따라서
console.log(StarbuksGrade["0"]);
compile to
WELCOME
이라고 결과가 나오게 된다.
💡만약에 enum에 다른 값을 추가하게 된다면 보기에는 안좋더라도 초기값을 할당하면 안전하게 사용할 수 있다.
enum StarbuksGrade {
WEELCOME = 0,
DDDD = 3,
GREEN = 1,
GOLD = 2
}
또한 enum의 초기값으로 문자열로 멤버로써 정의할 수 있다.