타입스크립트의 타입은 집합이다.
예를 들어 number 타입의 경우 10, 1.5, -1, Infinity와 같은 숫자를 모두 포함한다.
그런데 만약 타입에 10이라고 적는다면? 10이라는 값만 가질 수 있는 타입이 된다. 이를 number literal type이라고 부른다.
number literal 타입은 number타입에 포함되는 구조라서 number타입은 슈퍼타입, number literal타입은 서브타입이라고 부를 수 있다.
타입 호환성
타입 호환 시에 주의할 점은 슈퍼타입에 서브타입을 대입할 순 있지만, 서브타입에 슈퍼타입을 대입할 수 없다는 점이다. 마치 정사각형은 사각형이지만, 사각형 모두가 정사각형은 아닌 것처럼 말이다.
'Language > TypeScript' 카테고리의 다른 글
[TypeScript] 객체 타입 간 호환성 (0) | 2025.04.22 |
---|---|
[TypeScript] 객체 타입의 값을 변경할 때 주의사항 : 불변성 (0) | 2025.04.16 |
[TypeScript] Any, Unknown 타입 (0) | 2025.04.04 |
[TypeScript] enum 열거형 사용하기 (0) | 2025.04.04 |
[TypeScript] key-value 데이터에 타입 붙이기 - 인덱스 시그니처 (0) | 2025.04.03 |