TypeScript를 사용한 지 어느덧 1년이 되었습니다.
그동안 업무에서 꾸준히 사용하긴 했지만, 지금 돌아보면 타입을 단순히 "에러 방지용" 도구로만 활용했던 것 아닌가 하는 생각이 듭니다.
상황에 맞춰 any를 피하고, 적절한 타입을 지정하며 작성하는 습관은 어느 정도 들었지만,
왜 그렇게 써야 하는지, 타입 시스템이 어떻게 작동하는지에 대한 깊은 이해는 부족했습니다.
그러던 중 최근 제로초님의 TypeScript 강의를 듣게 되면서, 제가 모르는 기능과 문법이 정말 많다는 걸 느꼈습니다.
예를 들어, keyof, infer, typeof 같은 고급 타입 연산자나 유틸리티 타입의 쓰임새 등은 알고 나니 강력하지만,
모를 땐 아예 "존재 자체를 모르는" 상태였습니다.
이제는 단순히 에러를 없애기 위해 타입을 넣는 것이 아니라,
"왜 이 타입을 이렇게 지정해야 하는지"를 설명할 수 있을 정도로 실력을 다지고 싶습니다.
- 타입 좁히기(Narrowing)와 보호(Type Guards)를 적극 활용하고,
- 제네릭(Generic)을 통해 더 유연한 컴포넌트를 만들며,
- 실무에서 안정성과 가독성을 모두 잡는 타입 설계를 연습하고 싶습니다.
이 글은 그 출발점입니다.
앞으로 TypeScript를 ‘사용하는 사람’에서 ‘이해하고 설계하는 사람’으로 나아가기 위한 과정을 기록해보려고 합니다.
1년 차의 제가 남기는 이 회고가, 1년 후에는 웃으며 돌아볼 수 있는 성장의 기록이 되기를 기대하며. :)
'TypeScript' 카테고리의 다른 글
[TypeScript] Props를 선언할 때 type과 interface 중에 어떤 것을 사용할까? (0) | 2024.12.03 |
---|---|
[TypeScript] TypeScript와 Zod를 활용한 효율적인 폼 관리: React Hook Form 도입기 (0) | 2024.10.07 |
[우아한 타입 스크립트 with 리액트] 타입이란 (1) | 2024.08.26 |
[우아한 타입 스크립트 with 리액트] 타입스크립트의 등장 (0) | 2024.08.24 |
[우아한 타입 스크립트 with 리액트] 자바스크립트의 한계 (0) | 2024.08.23 |