[Typescript] Literal Type
Literal Type
작동 방식이 자바의 enum과 비슷하다.
아래와 같이 타입과 특정 값을 한번에 한정할 수 있다.
literal type
let dir:"LEFT";
- 문자열 타입이면서 "LEFT"값만 허용함
이 변수에는 오로지 "LEFT"
문자열만 바인딩할 수 있다.
literal type
let dir:"LEFT";
dir = "left"; // #ERROR
dir = "Left"; // #ERROR
dir = "LEFT"; // #SUCCESS
이 희한한 타입은 단독으로 사용되기보다는 자바의 enum과 같은 기능을 하는데 사용되는 모양
자바에서 세가지 값중 하나만 허용할때 아래와 같음
JAVApublic enum Dir {
LEFT,
CENTER,
RIGHT
}
이를 타입스크립트에서는 아래와 같이 표현함
JAVASCRIPTlet dir = "LEFT"|"CENTER"|"RIGHT";
- 변수 dir에는 세가지 문자열만 허용함
또는 별도의 type으로 선언할 수도 있다.
JAVASCRIPTtype Dir = "LEFT"|"CENTER"|"RIGHT"; // 별도의 타입 선언
let where:Dir; // Dir타입으로 한정함
- 변수
where
에는 문자열"LEFT"
,"CENTER"
,"RIGHT"
중 하나만 허용함