📘 리터럴 타입
- 특정한 값만을 허용하는 타입
- 문자열, 숫자, 불리언과 같은 기본 타입을 기반으로 하여, 특정 값만을 갖도록 제한할 수 있음
- 더 강력한 타입 체크가 가능해지며, 의도한 값만 사용하게 되어 코드의 품질이 향상
1. 문자열 리터럴 타입
type Direction = "up" | "down" | "left" | "right";
let move: Direction;
move = "up"; // 올바른 값
move = "down"; // 올바른 값
move = "left"; // 올바른 값
move = "right"; // 올바른 값
move = "forward";
// 오류: Type '"forward"' is not assignable to type 'Direction'
2. 숫자 리터럴 타입
type StatusCode = 200 | 404 | 500;
let code: StatusCode;
code = 200; // 올바른 값
code = 404; // 올바른 값
code = 500; // 올바른 값
code = 300; // 오류: Type '300' is not assignable to type 'StatusCode'
- 200 , 404, 500은 초기화값이자 타입,
- 타입스크립트는 자동으로 이 값들이 숫자 타입임을 인식
3. 불리언 리터럴 타입
type IsEnabled = true | false;
let enabled: IsEnabled;
enabled = true; // 올바른 값
enabled = false; // 올바른 값
enabled = null; // 오류: Type 'null' is not assignable to type 'IsEnabled'