본문 바로가기

TypeScript

TypeScript에 대해 얼마나 알고 있는지 점검해봅니다

TypeScript를 사용한 지 어느덧 1년이 되었습니다.

그동안 업무에서 꾸준히 사용하긴 했지만, 지금 돌아보면 타입을 단순히 "에러 방지용" 도구로만 활용했던 것 아닌가 하는 생각이 듭니다.

 

상황에 맞춰 any를 피하고, 적절한 타입을 지정하며 작성하는 습관은 어느 정도 들었지만,
왜 그렇게 써야 하는지, 타입 시스템이 어떻게 작동하는지에 대한 깊은 이해는 부족했습니다.

 

그러던 중 최근 제로초님의 TypeScript 강의를 듣게 되면서, 제가 모르는 기능과 문법이 정말 많다는 걸 느꼈습니다.
예를 들어, keyof, infer, typeof 같은 고급 타입 연산자나 유틸리티 타입의 쓰임새 등은 알고 나니 강력하지만,
모를 땐 아예 "존재 자체를 모르는" 상태였습니다.

 

이제는 단순히 에러를 없애기 위해 타입을 넣는 것이 아니라,
"왜 이 타입을 이렇게 지정해야 하는지"를 설명할 수 있을 정도로 실력을 다지고 싶습니다.

  • 타입 좁히기(Narrowing)와 보호(Type Guards)를 적극 활용하고,
  • 제네릭(Generic)을 통해 더 유연한 컴포넌트를 만들며,
  • 실무에서 안정성과 가독성을 모두 잡는 타입 설계를 연습하고 싶습니다.

이 글은 그 출발점입니다.


앞으로 TypeScript를 ‘사용하는 사람’에서 ‘이해하고 설계하는 사람’으로 나아가기 위한 과정을 기록해보려고 합니다.

1년 차의 제가 남기는 이 회고가, 1년 후에는 웃으며 돌아볼 수 있는 성장의 기록이 되기를 기대하며. :)