본문 바로가기

Front-End/TypeScript

as const

사전적 의미를 아무리 해봤자 어려워서 이렇게 외우기로 했다.

"const처럼"

자. const와 let의 차이점이 뭐였더라?

그렇다. "값이 안변한다"

let hi = "hi";
//타입을 string으로 추론


let hi2 = "hi" as const;
//타입을 "hi"밖에 못쓰게 된다.

 

as const를 쓰게 되면 ,

string으로 타입으로 추론 => "hi"로 타입추론이 된다.

즉, 글자면 다 됩니다! => "hi"만 됩니다!

 

 

 

 

예시를 넣어 놓겠다.

const person = {
    name: 'Alice',
    age: 30
} as const;
// 타입: { readonly name: 'Alice'; readonly age: 30; }

person.name = 'Bob'; // 오류: 읽기 전용 속성 'name'에 쓸 수 없습니다.




const numbers = [1, 2, 3] as const;
// 타입: readonly [1, 2, 3]

numbers[0] = 4; // 오류: 읽기 전용 속성 '0'에 쓸 수 없습니다.