[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과 같은 기능을 하는데 사용되는 모양

자바에서 세가지 값중 하나만 허용할때 아래와 같음

JAVA
public enum Dir { LEFT, CENTER, RIGHT }

이를 타입스크립트에서는 아래와 같이 표현함

JAVASCRIPT
let dir = "LEFT"|"CENTER"|"RIGHT";
  • 변수 dir에는 세가지 문자열만 허용함

또는 별도의 type으로 선언할 수도 있다.

JAVASCRIPT
type Dir = "LEFT"|"CENTER"|"RIGHT"; // 별도의 타입 선언 let where:Dir; // Dir타입으로 한정함
  • 변수 where에는 문자열 "LEFT", "CENTER", "RIGHT" 중 하나만 허용함