// 타입 선언
const ABC : string = 'wrong';
// 타입 단언
const BCD = 'wrong' as string;
타입 선언은 할당되는 값이 해당 인터페이스 혹은 타입에 만족하는 지 검사한다. 하지만 타입단언은 강제로 지정하기 때문에 타입체크가 의미가 없다. 따라서 타입 선언보다는 타입 단언을 사용하는 것을 권장한다.
또한 잉여속성이 있을 때 타입단언문은 체크를 하지 않고, 타입단언은 잉여속성을 체크한다.
하지만 타입단언이 꼭 필요한 경우가 있다. DOM에 접근할 때인데, DOM에 접근할 때 예로 currentTarget의 타입을 지정할 때 그 타입은 엘리먼트에 없는 속성이라는 에러를 들 수 있다. 이때에는 TypeScript보다 사용자가 DOM에 대한 정보를 더 많이 알고 있기 때문에 타입선언문을 사용하는 게 낫다.
'Book > Effective Typescript' 카테고리의 다른 글
Item 10. 객체 래퍼 타입 피하기 (0) | 2023.08.03 |
---|---|
Item 8. 타입 공간과 값 공간의 심벌 구분하기 (0) | 2023.06.29 |
Item 7. 타입이 값들의 집합이라고 생각하기 (0) | 2023.02.14 |
Item 6. 편집기를 사용하여 타입 시스템 탐색하기 (0) | 2023.02.08 |