최종 수정 : 2024-05-28
타입 단언(type assertion)
type Person = {
name: string;
age: number;
};
let person = {} as Person;
person.name = 'yeongtaek';
person.age = 33;
초과 프로퍼티가 적용되지 않을 때, 타입 단언을 사용하면 가능하다.
type Dog = {
name: string;
color: string;
};
let dog = {
name: '돌돌이',
color: 'brown',
breed: '진도',
} as Dog;
타입 단언의 규칙
규칙을 만족할 때 쓰는 것이 좋다.
- A가 B의 슈퍼타입이거나
- A가 B의 서브타입이어야 한다.
// 가능
let num1 = 10 as never;
let num2 = 10 as unknown;
// 불가능
let num3 = 10 as string;
==> 다중 단언을 하면 가능(그러나 비추!! 타입스크립트를 쓸 이유가 없어진다..)
let num3 = 10 as unknown as string;
const 단언
프로퍼티가 readonly 속성으로 타입 추론된다.
let num4 = 10 as const;
let cat = {
name: '야옹이',
color: 'yellow',
} as const;
cat.name = '' // 읽기 전용 속성이므로 'name'에 할당할 수 없습니다.
Non null 단언
null과 undefined가 아님을 단언해주는 것
type Post = {
title: string;
author?: string;
};
let post: Post = {
title: '게시글1',
author: 'yeongtaek',
};
const len: number = post.author!.length;
'프론트엔드 > TS 공부' 카테고리의 다른 글
함수 타입 정의 / 함수 타입 표현식과 호출 시그니처 (0) | 2024.05.28 |
---|---|
타입 좁히기 - 타입 가드의 종류 (0) | 2024.05.28 |
타입 추론 (0) | 2024.05.28 |
설치하기 (0) | 2024.05.27 |
자바스크립트의 런타임과 타입스크립트의 컴파일 (0) | 2024.05.25 |
댓글