typescript

리터럴 타입 니가 몬데..

냠냠맨 2023. 4. 17. 22:38

🐕 리터럴 타입 좁히기(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를 사용한 예시인 것 같아요


🐶마치며

졸라 하나도 모르겠습니다.

언젠간 알게되겠죠?

미래의 나 자신 화이팅입니다.


이해했다고 생각할 때가 가장 무서울 때다.

 

반응형