unknown은 외부 값을 검증한 뒤에만 쓰게 만든다
any와 달리 unknown은 바로 속성 접근을 허용하지 않아, 타입 가드로 안전 지점을 코드에 남긴다.
Receive
API, JSON, form 값은 unknown으로 받음
Guard
typeof, Array.isArray, 사용자 가드로 확인
Narrow
검사 블록 안에서 구체 타입으로 좁힘
Use
좁힌 뒤에만 속성 접근과 메서드 호출
| 점검 | 기준 |
|---|---|
| any | 바로 사용 가능하지만 오류도 함께 통과 |
| unknown | 검증 전 사용 금지, 검증 지점 명시 |
| 판단 | 외부 입력 경계에서는 unknown을 기본값으로 둠 |
핵심 unknown은 불편한 타입이 아니라 외부 값을 증명하게 만드는 안전장치다.