지난번에도 글 중간에 잠시 다룬 적이 있지만 나는 TypeScript(이하 TS) 잠시 공부해본 적이 있다. 그 때에는 JS 나 React 도 아주 조금밖에 몰랐고 React에서 아주 많이 쓰이는 ES6 문법에도 익숙치 않았던 때였어서 이런 불편한 걸 왜 쓰는지... 정말 이해가 가지 않았기 떄문에 도큐먼트의 튜토리얼만 찔끔 따라가다가 인터페이스나 함수 오버라이딩 이런 곳에서 벽에 부딪쳐 떨어져나갔었다(헌데 글을 쓰다가 생각해보니 이런 패턴으로 화두를 전개하는 글이 많네... 내배캠 감사합니다). 그리고 그 뒤로 잊고 지내다가 내배캠에 합류하고 React 를 익히면서 점차 TS의 필요성을 느끼게 되었다... 가장 최근에 작업한 국밥집 추천 서비스에서 특히 느낀 점이 많았는데, 우선 프로젝트 전반적으로 어려움을 느꼈던 부분을 살펴보자.
위의 스크린샷을 보면 mutate
메서드가 받는 아규먼트 중 첫 번째만 variables
이고 두 번째는 options
이다. 그런데 나는 그걸 잘 몰라서 두 아규먼트 모두에 데이터를 넣었다가 undefined
이 발생해서 한참을 고생했었다...
위의 두 가지를 보면 모두 데이터 타입과 관련된 부분이다. TS 공부할 때 되어서 억지로 하는 이야기가 아니구 증말루..
JS의 다이나믹 타이핑은 확실히 매력적이다. 적어도 React를 깊이있게 공부하기 전까진 그랬다. 그리고 이제 TS 도큐먼트 내용을 이해할 수 있다! 그러니 공부하자!
교재!