타입스크립트 정리7 - Any타입/Unknown타입

박상훈·2023년 6월 7일

인프런 한입크기로 잘라먹는 타입스크립트 - 이정환님의 강의를 보고
내용을 정리한 포스팅입니다

🥇 Any 타입

특정 변수의 타입을 우리가 확실히 모를 때

🥈 어떠한 값이 들어갈 수 있습니다.(할당 받을 수 있습니다.)

let anyVar: any = 10;
anyVar = "hello";

anyVar = true;
anyVar = {};
anyVar = () => {};

🥈 어떠한 메소드든 사용가능합니다.

anyVar.toUpperCase();
anyVar.toFixed();

🥈 이미 정해진 타입이여도 anyVar 가 사용가능합니다.

let num: number = 10;
num = anyVar;

🥈 애니 타입은 런타입 에러가 잃어 날 수 있습니다.

그렇기에 최대한 any타입을 사용하지 말아야 합니다

🥇 Unknown 타입

아무 타입의 값이나 넣을수 있습니다 그러나 메소드를 넣을수도 없고 , 다른 타입에 집어넣을수 없습니다

🥈 값은 아무거나 넣을수 있습니다

let nuKnownVar: unknown;
unknownVar = "";
unKnownVar = 1;

🥈 메소드를 넣을 수는 없습니다.

unKnownVar.toUpperCase();

오류 메시지가 출력됩니다.

🥈 언노운 타입은 다른 타입에 집어넣을수 없습니다.

num = unKnownVar;

오류메시기자 출력됩니다.

🥈 언노운 타입을 활용하고싶다면 '타입정제'를 사용해야 합니다.

if (typeof unKnownVar === "number") {
  num = unKnownVar;
}
profile
다들 좋은 하루 되세요

0개의 댓글