type guard

타입 가드는 넓은 타입을 실행 가능한 가지로 좁힙니다

typeof, instanceof, in, 동등성 검사, 사용자 정의 가드를 흐름별로 고르면 코드 안에서 타입이 점점 구체화됩니다.

typeof

원시값 확인

string, number, boolean처럼 런타임 종류를 바로 확인할 수 있는 값에 씁니다.

typeof value
instanceof

클래스 확인

Date나 Error처럼 생성자 기반 인스턴스 여부를 판별할 때 사용합니다.

value instanceof Date
in 연산자

속성 존재

객체 유니온에서 특정 속성이 있는 가지로 안전하게 좁힙니다.

"kind" in value
타입 predicate

가드 재사용

반복되는 판별 로직은 value is Type 형태의 함수로 분리합니다.

value is User