여러 타입이 올 수 있는 상황(Union)에서, if문과 typeof, instanceof 등의 자바스크립트 기본 문법을 사용해 범위를 좁혀나가며 TS 컴파일러에게 안전을 증명하는 과정입니다.
단순한 typeof로는 커버할 수 없는 복잡한 객체들의 타입을 판별할 때, 개발자가 직접 타입 검문소를 만들어 반환값 is 타입명 형태로 직접 검증을 수행하는 고급 기법입니다.
아래의 코드는 Minstudio의 엔진을 통해 브라우저 상에서 타입스크립트로 변환되어 실행된 결과입니다. 하단의 Developer Console 창에서 console.log의 출력을 직접 확인해보세요!