2023. 2. 4. 23:53ㆍ프론트엔드/Typescript
이펙티브 타입스크립트
![]() |
지금까지 탑다운 방식으로 프로덕트를 어찌저찌 만들어 내는데는 문제가 없어졌지만, 타입스크립트의 작동원리, 미처 알지 못했던 타입스크립트 사용 스킬 등에 관한 기초가 부족한 것 같다는 생각이 들게 되었고, 타입스크립트를 더 깊게 이해하기 위해 '이펙티브 타입스크립트' 라는 책을 구매해서 읽고 있다. |
any 타입은 사용을 하면 안된다?
타입스크립트를 공부할 때 가장 먼저 타입스크립트가 지원하는 타입들에 대해 배울텐데 그 중 ' any '타입은 사용을 지양해야 한다는 글을 많이 봤을 것이다.
필자 역시 any 타입의 사용을 지양해야 한다는 글을 읽은 적이 있는데, 개인적으로 무언가 새로운 것을 배울때 이렇게 사용을 지양해야 한다는 것이 나타나면 어느정도 익숙해 질때까지 해당 기능은 없는것이라고 생각을 하고 스스로 제약을 걸어버리는 편인데, Jquery와 타입스크립트의 any 타입이 그 대표적인 예이다
하지만 정확히 any 타입을 지양해야 하는 이유에 대해서는 곰곰히 생각해본 적이 없는것 같다. 이번에 책에서 any 타입을 지양해야 하는 이유를 봤는데 그에 대해 글을 써보고자 한다.
타입체커와 언어서비스를 무력화
자동완성 기능 사용불가
개인적으로 타입스크립트를 사용하면서 가장 편리하다고 생각하는 기능은 언어서비스인데, 어떤 객체의 타입을 지정해 놓게되면 해당 객체에 존재하는 속성을 알고 똘똘하게 자동완성기능을 제공해주는데, any 타입을 사용하게 되면 이런 강력한 기능을 사용할 수 없다.
Rename symbol 사용불가
또한 심볼을 수정하면 해당 심볼을 사용하는 모든 부분을 수정해주는 rename symbol 기능 역시 any 타입을 사용할 경우 사용할 수없다.
위와 같은 기능은 개발의 효율성과 유지보수의 용이성을 높여주는 기능이지만, any 타입을 사용하게 되면 해당 기능을 사용할 수 없게된다.
'프론트엔드 > Typescript' 카테고리의 다른 글
[이펙티브 타입스크립트] 꽤나 똑똑한 타입스크립트, 더 똑똑하게 쓰기 - 타입구문의 중요성 (1) | 2023.01.21 |
---|---|
[Typescript] 타입의 종류 : 원시타입 (Primitive Types) (2) | 2022.10.06 |
[Typescript] 대세로 떠오른 타입스크립트 첫걸음! (0) | 2022.09.05 |