TIL 231212 - TypeScript

송용승·2023년 12월 13일
1

TIL

목록 보기
23/29

Today I Learned

지난번에도 글 중간에 잠시 다룬 적이 있지만 나는 TypeScript(이하 TS) 잠시 공부해본 적이 있다. 그 때에는 JS 나 React 도 아주 조금밖에 몰랐고 React에서 아주 많이 쓰이는 ES6 문법에도 익숙치 않았던 때였어서 이런 불편한 걸 왜 쓰는지... 정말 이해가 가지 않았기 떄문에 도큐먼트의 튜토리얼만 찔끔 따라가다가 인터페이스나 함수 오버라이딩 이런 곳에서 벽에 부딪쳐 떨어져나갔었다(헌데 글을 쓰다가 생각해보니 이런 패턴으로 화두를 전개하는 글이 많네... 내배캠 감사합니다). 그리고 그 뒤로 잊고 지내다가 내배캠에 합류하고 React 를 익히면서 점차 TS의 필요성을 느끼게 되었다... 가장 최근에 작업한 국밥집 추천 서비스에서 특히 느낀 점이 많았는데, 우선 프로젝트 전반적으로 어려움을 느꼈던 부분을 살펴보자.

  1. 서드파티 라이브러리 사용 - 커리큘럼 진행에 맞춰 자연히 여러 기능을 넣은 웹 앱을 만들었는데, 이 과정에서 서드파티 라이러리나 패키지를 많이 사용했다. 여기서 parameter가 요구하는 게 뭔지 정확히 알지 못해서 시간을 낭비하는 일이 잦았다. 낭비라기엔 다 공부가 되는 부분이긴 하지만 TypeScript를 사용했다면, 혹은 사용할 줄 알았다면 시간을 더 효율적으로 사용할 수 있었을 것이다.
  2. API 통신 증가 - 위의 항목과 연결되는 부분이다. 데이터 CRUD 기능을 수행하는 웹 앱을 만들면서 이를 위한 axios 나 Firestore API 를 이용한 비동기통신의 비중이 늘었는데, 이 때 서버 측에서 요구하는 데이터의 타입 등을 잘 몰라서 API 문서를 몇 번이고 확인해야 하는 일이 생겼다.

위의 스크린샷을 보면 mutate 메서드가 받는 아규먼트 중 첫 번째만 variables 이고 두 번째는 options이다. 그런데 나는 그걸 잘 몰라서 두 아규먼트 모두에 데이터를 넣었다가 undefined 이 발생해서 한참을 고생했었다...

위의 두 가지를 보면 모두 데이터 타입과 관련된 부분이다. TS 공부할 때 되어서 억지로 하는 이야기가 아니구 증말루..

JS의 다이나믹 타이핑은 확실히 매력적이다. 적어도 React를 깊이있게 공부하기 전까진 그랬다. 그리고 이제 TS 도큐먼트 내용을 이해할 수 있다! 그러니 공부하자!

교재!

profile
웹 프론트엔드 개발을 익히고 있습니다.

0개의 댓글