경쟁하는 다른 정적 타입 언어와 비교해 TypeScript를 성장하게 만든 장점을 다음과 같이 정리할 수 있을 것이다.
- 학습 비용(learning curve): 새로운 형태의 문법과 언어의 철학을 이해하는 데 소요되는 비용이 다른 언어에 비해 현저히 낮다. TypeScript는 JavaScript의 확장 언어(superset)이기 때문에 기존 JavaScript 문법을 그대로 사용할 수 있다. 또한 ECMAScript의 표준을 밀접하게 지원하기 때문에 JavaScript의 새로운 문법과 경험에서 멀어지지 않을 수 있다는 점도 개발자에겐 커다란 장점이라 할 수 있다.
- 타입의 옵트인 정의: 타입을 사용하기 위해 TypeScript를 사용하지만 꼭 타입을 정의해야 TypeScript를 사용할 수 있는 것은 아니다. 필요한 경우에는 사용자가 타입의 사용을 직접 결정할 수 있다. 이런 유연함이 프로젝트에 TypeScript를 쉽게 도입할 수 있게 한다.
- 도구와 생태계: 현재 가장 인기 있는 IDE(integrated development environment)인 Visual Studio Code가 TypeScirpt를 밀접하게 지원해 편리한 개발 환경을 제공한다. 또한 커뮤니티가 주도하는 DefinitelyTyped 프로젝트가 제공하는 타입 정의 파일을 사용하면 타입을 지원하지 않는 프로젝트에도 손쉽게 TypeScript를 적용할 수 있다.
TypeScript가 기존의 시도와 어떤 차별점을 가지고 성장했는지에 관한 더 자세한 내용은 "GOTO 2018 • Why I Was Wrong About TypeScript • TJ VanToll" 영상을 참고한다.
생태계의 지원 확대
TypeScript 생태계에 있는 기존의 도구도 나쁘지 않지만 최근에 일반적인 프런트엔드 프로젝트에 매끄럽게 녹아드는 형태는 아니다. 주요한 프런트엔드 도구인 Babel과 ESLint의 TypeScript 지원이 TypeScript 사용을 더욱 확대할 것으로 보인다.
NAVER D2