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를 피하면서 타입 안정성을 확보하고 싶을 때