Guard QA

타입 좁히기는 런타임 증거가 약할 때 흔들린다

분기 안에서 타입이 좁아져 보여도 실제 값을 충분히 확인하지 않으면 타입 가드는 거짓 안전감을 만들 수 있습니다.

Signal

위험 신호

강제 단언

`as`가 조건문보다 먼저 나오면 검증을 건너뛴 것입니다.

느슨한 속성 체크

필드 하나만 보고 전체 객체를 확정하면 누락을 놓칩니다.

Response

대응 방식

확인 가능한 조건

`typeof`, `in`, 판별 필드처럼 런타임에서 볼 수 있는 값으로 분기합니다.

가드 함수 분리

반복 검사는 `value is Type` 함수로 모아 호출부를 단순하게 둡니다.

Result

검증 결과

분기마다 좁은 타입

각 블록에서 필요한 속성만 자연스럽게 자동 완성됩니다.

불가능한 상태 제거

마지막 분기는 `never` 확인으로 누락된 유니온 멤버를 잡습니다.