01 타입스크립트 소개
02 ECMAScript
03 타입스크립트 기초 문법
04 인터페이스와 클래스
05 타입의 호환성
06 타입 시스템 심화
07 고급 타입
08 모듈과 네임스페이스
09 실제 프로젝트에서 사용하기
10 유용한 라이브러리 소개
부록 II : 자바스크립트 언어 생태계

5.6 열거형의 호환성

타입스크립트가 열거형 간의 호환성을 판단하는 법에 대해 다룬다.

열거형의 호환성은 객체 타입이 연관된 경우에 비해 상당히 간단하다. 다른 열거형으로부터 유래된 값끼리는 호환되지 않는다.

enum Status { Ready, Waiting }
enum Color { Red, Blue, Green }
let status: Status = Status.Ready;
status = Color.Green; // error

숫자 열거형 값은 number에, 문자열 열거형 값은 string에 할당 가능하다.

enum MyEnum {
Zero,
One = 1,
Name = '안희종'
}
const zero: number = MyEnum.Zero;
const one: number = MyEnum.One;
const name: string = MyEnum.Name;