Item 22 타입 좁히기
Narrowing
타입 좁히기(Narrowing)란 타입스크립트가 넓은 타입으로부터 좁은 타입으로 진행하는 과정을 말한다.
타입스크립트에서 타입을 좁히는 방법:
null 체크
일반적으로 타입 체커는 null 체크에서 타입 좁히기를 잘 해내지만, 타입 별칭이 존재하면 그러지 못할 수 있다. 타입 별칭은 Item 24 일관성 있는 별칭 사용하기에서 다룬다.
예외 던지기 / 함수 반환하기
instanceof
속성 체크
Array.isArray
같은 일부 내장 함수명시적 '태그' 붙이기 - Item 3 코드 생성과 타입이 관계없음을 이해하기
type
속성을 추가한다.태그된 유니온(tagged union) 또는 구별된 유니온(discriminated union)
사용자 정의 타입 가드(type guard)
Summary
분기문(if-else, switch)외에도 여러 종류의 제어 흐름을 살펴보며 타입스크립트가 타입을 좁히는 과정을 이해하자.
태그된/구별된 유니온과 사용자 정의 타입 가드를 사용하여 타입 좁히기 과정을 원할하게 만들 수 있다.
Last updated