넓은 입력
unknown이나 union은 바로 멤버에 접근할 수 없다.
union이나 unknown 값은 런타임 검사를 통과할 때마다 더 구체적인 타입으로 좁혀진다.
unknown이나 union은 바로 멤버에 접근할 수 없다.
typeof, instanceof, in으로 가능한 분기를 나눈다.
리터럴 값 비교로 특정 케이스를 더 좁힌다.
반복되는 조건은 value is T 함수로 캡슐화한다.
타입 좁히기는 타입 단언의 대체재다. 컴파일러가 이해할 수 있는 조건문으로 값을 증명해야 이후 코드가 안전해진다.