number
타입 값에 기반한 열거형이다. 만약 열거형을 정의하며 멤버의 값을 초기화하지 않을 경우, 해당 멤버의 값은 0
부터 순차적으로 증가하는 숫자 값을 갖는다. 예를 들어 아래 예제 두 예제는 동일하게 동작한다.Enum
의 모든 멤버는 Enum
타입을 갖는다.0
부터 시작되는 자동 초기화에 의존하는 대신, 각 멤버의 값을 직접 초기화 할 수 있다.number
타입 값 대신 string
타입 값을 사용해서 멤버 값을 초기화하는 것도 가능하다. Direction["EAST"] = 0
)Direction[Direction["East"] = 0] = "East"
)const
열거형을 사용할 수 있다.enum
키워드 대신 const enum
키워드를 이용해 정의할 수 있다. 이렇게 정의한 열거형의 구조는 컴파일 과정에서 완전히 사라지고, 멤버의 값은 상수값으로 대체된다. 아래의 예제를 보자.ShapeKind
열거형은 유니온 열거형이다.