0_myzb7qL_EWSX1QiH.png

개요

프로젝트(MOVIELOG)의 기술스택을 정하는 과정에서 팀원들간의 가장 중요했던 주제는 타입스크립트를 처음으로 도전할지 말지의 문제였다. 부트캠프 코스 중에 5일정도의 짧은 기간 동안 타입스크립트 기초를 찍먹해보긴 했지만, 나 포함 모든 팀원들이 프로젝트에서 사용한 경험은 없었기에 많은 고민을 했었다. 그러던 중, 멘토링을 받으면서 이 고민을 멘토님께 여쭤보았는데, 멘토님의 답변은 현재 다수의 기업에서 타입스크립트를 적극적으로 활용하고 있다는 점에 근거하여 도전해보는 것을 강력하게 추천하는 방향이었다. 결국 우리 팀은 gpt의 도움을 조금 받으면서라도 타입스크립트에 도전해보는 것이 앞으로의 발전에 큰 도움이 될 것이라 결론을 내렸고, 타입스크립트를 처음으로 실제 프로젝트에서 경험하게 되었다. 따라서, 타입스크립트의 장점과 타입스크립트의 핵심 개념, 그 중에서도 생소한 개념들을 짚고 넘어가 보자 한다.

타입스크립트를 쓰는 이유(장점)

  1. 런타임에러 이전에 미리 코드에디터에서 에러를 잡아준다.

→ 예를 들어, 간단한 오타와 같은 에러가 있을 경우에, js파일을 사용하면 에디터 내에서 에러를 확인할 수 없고 런타임환경에서만 에러를 잡을 수 있지만 타입스크립트를 사용하면 런타임 환경이전에 코드에디터에서 “Cannot find name ‘(변수명)’ 과 같은 에러 메시지를 미리 확인하고 대비할 수 있다.

  1. 데이터의 타입을 미리 지정할 수 있다.

→ 데이터의 타입을 미리 지정함으로써, 개발자로 하여금 기대하지 않은 코드의 작동을 미리 예방해준다. 예를 들어, 두 개의 변수를 매개변수로 받는 함수를 짤 때 개발자가 두 변수의 타입이 number로 들어오기를 기대하는 상황에서, string이 들어오면 타입스크립트는 타입에러를 잡겠지만 타입스크립트를 사용하지 않으면 string이 들어온 그대로 코드가 작동하는 예상치 못한 결과를 얻을 수 있다. 좀 더 프로그래밍적인 용어로 말한다면, 타입스크립트는 정적타입 언어로서 컴파일 시에 타입이 정해지는 언어이며 이에 따라 런타임 시에 타입이 정해지는 동적타입 언어인 자바스크립트와 달리 런타임 이전에 미리 타입에러를 방지해준다고 볼 수 있다.

  1. 코드의 유지보수 용이 및 코드 안정성 향상

→ 데이터의 타입을 쉽게 알 수 있으므로 코드의 전반적인 흐름에 대해 코드 자체만으로 더 많은 정보를 더 보기 쉽게 파악할 수 있다. 따라서 광범위한 주석의 필요성이 줄어들고 코드의 유지보수 및 리팩토링이 쉬워진다. 또한 개발 중 그때그때 마다 에러를 포착할 수 있어 런타임오류 및 타입에러, 이에 더하여 보안 취약성의 위험을 줄이는 데 도움을 주어 코드의 안정성이 향상된다.

*이외에도, 타입스크립트를 쓰면 여러 장점들이 있지만 프로젝트를 하면서 실제로 적용해보고 학습하는 과정에서 몸소 유용하다고 느꼈던, 핵심적인 장점들을 정리했다.

생소한 개념들 정리

타입스크립트의 타입