시작하기 앞서
현재 모던 리액트 Deep Dive 라는 책으로 스터디를 진행하고 있는데, 책에서 "any 대신 unknown을 사용하자" 라는 내용이 있었다.
사실 지금까지 타입스크립트를 작성하다가 모르겠는 타입은 any 로 지정했었다. 그런데 이 책을 읽고 unknown 이라는 타입을 알게 되고 any 보다는 unknown 을 사용하는 게 더 좋다 하여 해당 내용에 대해 자세히 알아보기 위해 글을 작성하게 되었다.
any
간단하게 any 는 모든 타입을 허용한다. 그래서 모든 타입을 허용하여 타입 에러가 발생하지 않는다.
any 단점
any 는 편해 보이지만 무턱대로 사용하면 안 된다. 왜냐하면 any 를 사용하면 타입스크립트를 사용하는 의미가 없어지기 때문이다.
any 는 실제로 타입이 아니라 타입쉴드를 해제하게 되어 그냥 일반 자바스크립트 변수처럼 사용할 수 있게 된다.
즉, 타입스크립트가 에러를 잡아주지 못해 코드를 직접 실행해야 되는 런타임에서 에러가 발생한 것을 확인할 수 있게 된다.
그래서 이 때 any 대신 unknown 을 사용해야 한다고 한다. 그렇다면 unknwon 은 무엇일까?
unknown
unknown 은 any 와 비슷하게 모든 타입을 허용해 주며 용도는 똑같다.
unknown 장점
unknown 은 any 와 다르게 빌드타임에서 타입 검사를 하므로 안정성이 향상된다.
즉, any 의 단점인 타입 안정성을 보장해 주고 any 처럼 유연하게 타입을 허용하는 것이 바로 unknown 의 장점이다.
마치며...
결론적으로 타입스크립트를 사용할 때, 최대한 정확한 타입을 지정해 주면 좋지만
만약 불가피한 상황이 발생해서 타입을 단정지을 수 없는 경우 any 보다는 타입 안정성이 있는 unknown 을 사용하는 것이 좋다.
'💜 프론트엔드 > TypeScript' 카테고리의 다른 글
[TypeScript] 자바스크립트 대신 타입스크립트 사용하는 이유 🤔 (0) | 2024.05.26 |
---|---|
TypeScript 공부 #8 (0) | 2023.07.31 |
TypeScript 공부 #7 (0) | 2023.07.31 |
TypeScript 공부 #6 (0) | 2023.07.31 |
TypeScript 공부 #5 (0) | 2023.07.31 |
FE 개발자가 되고 싶은 짱잼이
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!