728x90
[TypeScript / 타입스크립트] unknown 과 any의 차이
any와 unknown의 차이점을 분명히 알기 위해서는
any 타입에 대한 정의를 달리하자
any는 모든 타입을 뜻하는게 아니라
기존 타입스크립트의 타입에 대한 제한과 확정이라는
실드를 해제한다고 생각하자
다시말해 타입스크립트의 목적은
타입을 확정하거나 변수의 타입의 변경을 제한함으로써
디버깅을 명확히 하기 위함인데
any타입은 그런거 없이 실드를 해제하는 키워드이다
반면 unknown 이라는 키워드는
any와 같이 유연하게 여러가지 타입의 값을
변수에 대입할수 있지만,
unknown 타입이 지정된 변수의 값과 다른 타입의
변수에 대입을 하려고할때 컴파일 에러가 발생한다.
아래 예제 코드를 참고하자
let str : unknown = 'this is msg';
let num : number = 10;
num = str;
//num은 number 타입이라 str 대입 불가
let str2 : any = 'this is msg';
let num2 : number = 10;
num2 = str2;
//num2는 number 타입이지만 str2로 인해 봉인 해제 (대입가능)
728x90
'프론트엔드 > TypeScript' 카테고리의 다른 글
[typescript / 타입스크립트] class 내 static 사용하기 (0) | 2021.11.16 |
---|---|
[TypeScript | 타입스크립트] 콜백 함수 타입 선언 CallBack Function Type (0) | 2021.10.26 |
[TypeScript] 타입스크립트 함수 Rest Parameter (가변 인자) (0) | 2021.06.24 |
[TypeScript] 타입스크립트 함수 Optional Parameter (0) | 2021.06.24 |
[TypeScript] readonly를 통해 일관성 있는 코드 작성하기 (0) | 2021.06.23 |
댓글