지금까지 배웠던 타입들은 자바스크립트로 변환할 때 모두 사라졌지만, enum은 사라지지 않고 자바스크립트 코드로 남습니다. 그래서 Level enum은 다음과 같은 자바스크립트 코드가 됩니다.
자바스크립트
var Level;
(function (Level) {
Level[Level["NOVICE"] = 0] = "NOVICE";
Level[Level["INTERMEDIATE"] = 1] = "INTERMEDIATE";
Level[Level["ADVANCED"] = 2] = "ADVANCED";
Level[Level["MASTER"] = 3] = "MASTER";
})(Level || (Level = {}));
Level[Level["NOVICE"] = 0] = "NOVICE" 같은 코드 때문에 헷갈릴 수 있지만 이는 Level[0] = "NOVICE"와 Level["NOVICE"] = 0을 하나로 합쳐둔 것입니다. 즉, Level enum은 다음과 같은 자바스크립트 객체가 됩니다.