as Const?
궁금증의 동기!
타입스크립트 사용해서 프로젝트 하던중 아래와 같은 예제 코드를 발견 했다.
1
const INCREASE = "counter/INCREASE" as const;
as const 가 어떤 역할을 하는지 좀 처럼 감을 못잡았다. 바로 구글링
let 변수에서
1
2
3
4
5
6
7
let hihi = "abc";
hihi = "bbbb";
// hihi 는 string 타입임으로 정상적으로 변환이 된다
let hello = "world" as const;
hello = "hihi";
// hello 의 타입은 'world; 임으로 변환 못함
as const 의 역할은 그 자체를 하나의 타입으로 바꿔준다는 것을 알수 있다.
객체에서
1
2
3
4
5
6
7
8
9
10
11
const thisObj = {
hello: "world" as const,
foo: "bar"
};
// 객체의 타입중 hello 는 'world' 타입으로 변환
const thisObj1 = {
hisName: "park",
hisAge: 18
} as const;
// 객체 전체가 타입이 되고 readonly 로 변환
as const 의 결과
- 해당 값을 전부 하나의 타입으로 지정해준다.
- object 속성을 전부 readonly 시켜준다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.