앞의 코드에서 Level.NOVICE는 0이 됩니다. 따라서 Level[Level.NOVICE]는 Level[0]이 되고, 최종적으로 NOVICE 문자열이 됩니다. enum[enum의_멤버]는 enum의 멤버 이름을 가져오는 방법이니 알아두면 좋습니다.
enum은 값으로 사용하기보다는 타입으로 사용하는 경우가 더 많습니다(이전 코드에서 이어집니다).
function whatsYourLevel(level: Level) {
console.log(Level[level]);
}
const myLevel = Level.ADVANCED;
whatsYourLevel(myLevel);
매개변수의 타입으로 enum을 사용했습니다. enum을 타입으로 사용하면 멤버의 유니언(Level.NOVICE | Level.INTERMEDIATE | Level.ADVANCED | Level.MASTER)과 비슷한 역할을 합니다. 이제 enum의 멤버를 사용해서 함수를 호출하면 됩니다. Level[Level.ADVANCED]는 ADVANCED 문자열입니다.