🐕 리터럴 타입 좁히기(Literal Narrowing)
리터럴 타입이란 집합 타입의 하위타입을 의미합니다.
타입 시스템 안에서 "Hello World"는 string 타입이지만
string 이 "Hello World"인건 아니라는 소리에요
현재 타입스크립트에는 문자열과 숫자 두 가지 리터럴 타입이 존재하는데
이를 사용하면 문자열이나 숫자에 정확한 값을 지정해 줄 수 있습니다.
리터럴 타입 좁히기는 무한한 수의 잠재적 케이스들을 유한한 수의 잠재적 케이스로 줄여 나가는 것을 의미합니다.
이게 대체 뭔소리
// const를 사용하여 변수 helloWorld가
// 절대 변경되지 않음을 보장합니다.
// 따라서, TypeScript는 문자열이 아닌 "Hello World"로 타입을 정합니다.
const helloWorld = "Hello World";
// 반면, let은 변경될 수 있으므로 컴파일러는 문자열이라고 선언할 것입니다.
let hiWorld = "Hi World";
대충 const를 이용해 선언하는 것을 통해서 타입을 선언하는 것을 말하나보네요
챗지피티한테 물어보니까 const 외에도 다른 방법으로 하는 리터럴 타입 좁히기도 있다는데
가장 직관적으로 와닿는건 const를 사용한 예시인 것 같아요
🐶마치며
졸라 하나도 모르겠습니다.
언젠간 알게되겠죠?
미래의 나 자신 화이팅입니다.
반응형
'typescript' 카테고리의 다른 글
ts.config.json 설정 알아보기 (0) | 2023.04.18 |
---|---|
제네릭 (0) | 2023.04.17 |
함수를 타이핑하는 방법을 알아보자 (0) | 2023.04.17 |
타입스크립트의 인터페이스 (0) | 2023.04.17 |
쉽게 시작하는 TypeScript (2) | 2023.04.17 |