[TypeScript] any vs unknown

뒹귤·2024년 7월 5일
1

타입스크립트

목록 보기
5/5

any와 unknown 타입은 둘 다 모든 타입을 나타낼 수 있다는 점에서 유사하지만,
보다 안전하게 사용할 수 있는 unknown 타입을 사용하는 것을 권장합니다.

any

  • 타입 검사를 무효화하는 타입
  • 컴파일 에러가 발생하지 않지만, 런타임 에러의 위험성이 큼
  • 자동 완성 기능이 동작하지 않음
let todo: any;
todo = 'hello';
todo = 123.456;
todo = true;

todo.toLowerCase();
todo.toFixde(2);

any는 타입 검사를 수행하지 않기 때문에 해당 값에 대하여 임의의 속성에 접근할 수 있고, 함수인 것처럼 호출할 수 있고, 다른 임의 타입의 값에 할당하거나, 구문적으로 유효한 것이라면 무엇이든 할 수 있습니다.

📌 먼저 as나 사용자 정의 타입 가드를 사용해보고 꼭 필요한 경우가 아니면 any 타입은 사용하지 않는 것이 좋음

unknown

  • any 타입처럼 어떤 값이든 넣을 수 있는 타입
  • 무엇이 들어올지 알 수 없는 상황에 적합
  • unknown 타입의 값은 할 수 있는 일이 매우 제한적

임의의 속성에 접근하면 컴파일 오류를 발생시키기 때문에 안전하게 사용할 수 있습니다.
일반적으로 unknown 타입으로 값을 저장한 후 타입 가드로 타입을 좁혀 사용합니다.

let todo: unknown;
todo = 'hello';
todo = 123.456;
todo = true;

todo.toLowerCase(); // error: 'todo' is of type 'unknown'.
todo.toFixde(2); // error: 'todo' is of type 'unknown'.
profile
🌱 FE 

0개의 댓글

관련 채용 정보