이번 글에서는 TypeScript 의 열거형(enum) 을 간략하게 살펴보려합니다.
TypeScript 는 compile 을 통해 JavaScript 파일로 변환하여 줍니다.
JavaScript 에서는 열거형(enum) 이 없는데 TypeScript 에서는 지원을 합니다.
어떻게 JS 로 변환해주는지 또 어떻게 사용할 수 있는지 간단하게 보려합니다.
TypeScript enum 코드
enum Status {
SUCCESS,
FAIL
}
console.log(Status['SUCCESS']);
console.log(Status['FAIL']);
console.log(Status.SUCCESS);
console.log(Status.FAIL);
console.log(Status['0']);
console.log(Status['1']);
console.log(Status[0]);
console.log(Status[1]);
출력
0
1
0
1
SUCCESS
FAIL
SUCCESS
FAIL
재미있게도 문자열로 접근만 가능한 것이 아니라 숫자로 문자열을 가져올 수 있습니다.
JavaScript 변환 코드
var Status;
(function (Status) {
Status[Status["SUCCESS"] = 0] = "SUCCESS";
Status[Status["FAIL"] = 1] = "FAIL";
})(Status || (Status = {}));
코드를 보면 어떻게 문자열 -> 숫자, 숫자 -> 문자열이 가능한지 알 수 있습니다.
var 의 호이스팅을 이용해서 동작이 되는데 이 점 또한 흥미로운 것 같습니다.