타입스크립트가 필요한 이유

sykim·2020년 2월 23일
0

타입스크립트

목록 보기
2/2

자바스크립트의 변수, 함수의 매개변수, 함수의 리턴값에 타입이 명시된 것이 타입스크립트

타입스크립트는 자바스크립트의 상위 집합체로 자바스크립트의 모든 것을 갖고 있다.
타입스크립트로 자바스크립트가 약타입에서 강타입 언어가 되는데 이것의 의미는 안정적인 언어가 된다, 오류가 덜 난다는 의미도 있지만 에디터(웹스톰, vs코드)의 에러 지적(?) 지원을 받을 수 있다는 의미이기도 하다. 큰 묶음 단위로 타입스크립트가 필요한 이유를 정리해보자.

<들어가기 전 용어 정리>

  • 자바스크립트 실행기 : 노드, 브라우저
  • 타입스크립트 실행기 : 노드 (브라우저가 해석할 수 없기 때문에 노드의 힘을 빌려서 자바스크립트로 변환이 필요)
  • 동적 타이핑 : 타입을 지정해줄 필요가 없는 언어
  • 정적 타이핑 : 타입을 지정해줘야 하는 언어
  • 멀티 페이지 어플리케이션 (MPA) : 브라우저에 변경사항이 있을 때마다 서버에 요청하여 새로운 페이지가 렌더링 되는 방식
  • 싱글 페이지 어플리케이션 (SPA) : 하나의 브라우저 내에서 동작해서 수정된 부분만 정보가 바뀌어 렌더링 되는 방식
    (MPA VS SPA https://m.blog.naver.com/PostView.nhn?blogId=sthwin&logNo=221214109560&proxyReferer=https%3A%2F%2Fwww.google.com%2F)

생산성

타입을 지정해줄 필요가 없는 동적 타이핑은 단기적인 결과물을 낼 때는 높은 생산성을 보이고, 타입을 지정해줘야하는 정적 타이핑은 긴 시간 유지보수를 해야 하고 규모가 큰 작업물에서 높은 생산성을 보인다.
이전 회사에서의 내 경우도 그렇고 과거 페이지 렌더링 방식이 MPA이었지만 트렌드가 SPA로 바뀌면서 소위 말하는 프론트단을 담당하는 코더가 백엔드 부분을 짤 일이 많아졌고 그에 따라 관리해야할 코드량도 많아졌다. 결론적으로 SPA의 규모가 MPA 규모보다 크기 때문에 관리적인 부분에서 타입스크립트의 도입은 장점이 될 수 있다.

빠른 에러 캐치

정적타이핑을 함으로서 런타임 에러를 줄일 수 있고 에러를 빨리 발견함으로서 버그 수정 시간이 단축된다. 같은 타입의 에러라고 해도 런타임에서 발견하는 것과 컴파일 타임에서 발견하는 것의 수정 차이는 다르다고 한다. 이 부분은 아직 타입스크립트를 사용하며 에러 수정을 안 해봤기 때문에 잘 닿지는 않는다.

상승하는 커뮤니티

알아가며 사용해야 하는 플러그인을 추가할 때의 경험만 봐도 커뮤니티의 규모가 얼마나 중요한지는 나와 같은 초심자에겐 너무나도 중요하다. 유명한 플러그인의 경우 에러를 검색하는 것과 잘 쓰지 않는 플러그인의 에러를 검색할 때의 마음의 안정도(?)는 확연히 차이가 났다.
타입스크립트의 사용자는 해마다 가파르게 상승하고 있고 커뮤니티가 크다는 것은 그만큼 내가 참고할 자료가 많다는 의미이다.

결론

취업 공고란들에 심심치않게 적혀있었던 타입스크립트를 보고 이게 무엇인지 왜 필요한지 궁금해져 간단하게 이해한 수준에서 정리해보았고 나의 경우 생산성이라는 장점에서 타입스크립트가 공부하고 싶어졌다. 왜 필요한지를 알고 나니 공부를 들어가기에 앞서 마음가짐이 조금 더 진지해지는 것 같다.

참고한 글
https://hyunseob.github.io/2018/08/12/do-you-need-to-use-ts/

profile
블로그 이전했습니다

0개의 댓글