javascript
TypeScript의 unknown
unknown을 사용하는 이유는 일단 any보다 안전하기때문이다
즉 unknown은 결국 일단 지금 타입을 모르는 경우 설정이 가능하다
그러나 최종적으로 타입체크를 해서 사용가능하기때문에
unknown으로 설정한 변수를 참조할때 타입체크없다면 에러가 발생한다 ( 그래서 타입체크가 필요하니 안전하다 )
✅ TypeScript unknown — 안전한 any의 대안
unknown은 TypeScript에서 "아직 타입을 알 수 없는 값"을 표현할 때 사용됩니다. any처럼 어떤 값도 받을 수 있지만, 직접 사용하려면 타입 검사를 먼저 해야 하므로 더 안전합니다.
🔹 any vs unknown
구분 any unknown 타입 체크 없음 필요함 안전성 낮음 높음
🔹 사용 예시
let value: unknown = "hello";
// 오류: 타입 확인 없이 사용 불가
// value.toUpperCase(); ❌
// 타입 검사 후 사용 가능
if (typeof value === "string") {
console.log(value.toUpperCase()); ✅
}
🔹 언제 사용할까?
-
외부 API 응답 등 타입이 불확실한 값
-
any를 피하면서 타입 안정성을 확보하고 싶을 때