TypeScript - 개요
TypeScript는 JavaScript 기반으로 강력한 Type 구문이 있는 프로그래밍 언어로 모든 규모에서 더 나은 도구를 제공합니다.
1. JavaScript에 추가 구문을 추가하여 편집기와 긴밀한 통합을 지원합니다.
편집기에서 초기에 오류를 포착함으로써 런타임에서 발생할 수 있는 대부분의 오류를 사전에 차단할 수 있습니다.
또한, 추가 코드 없이 JavaScript를 이해하고 Type을 추론하여 코드에서 개체 및 함수의 구성을 설명합니다.
이는 에디터에서 문서와 이슈를 보는 것을 가능하게 만듭니다.
2. 런타임 라이브러리가 필요 없습니다.
TypeScript 코드는 JavaScript가 실행되는 모든 곳에서 실행할 수 있도록 JavaScript로 변환됩니다.
즉, 컴파일 결과로 추가 구문은 제거되므로 TypeScript가 존재하기 전이나 후에 만들어진 브라우저나 Node js, Deno, App 등과 상관없이 실행할 수 있습니다.
3. JavaScript의 상위 집합 언어입니다.
즉, JavaScript를 알아야 사용할 수 있으며, 기본 베이스는 항상 JavaScript입니다.
코드를 작성할 때, 좀 더 명시적으로 작성함으로써 발생할 수 있는 여러 버그나 정보를 파악할 수 있도록 추가적인 구문을 작성하게 될 뿐입니다.
위에서 설명했듯이 추가적인 구문은 컴파일 과정을 통해서 제거됩니다.
4. 많이 성장하고 있으며 많이 사용하고 있습니다.
2020년 개발자 설문에서 Rust 다음으로 2번째로 사랑받는 언어로 선정되었고 2020년 State Of JS 응답자의 78%가 사용하고 있으며 그중 93%는 다시 사용할 것이라고 말했습니다.
또한 전년 대비 성장을 기반으로 "가장 많이 채택된 기술"상을 받았습니다.
그렇다면 TypeScript을 왜 써야 할까?
물론, JavaScript와 JSDocs를 통해 문서나 이슈를 전달하기에는 충분합니다.
하지만 위 이미지처럼 JavaScript는 애매한 부분이 있고 이 부분 때문에 예상하지 못하는 오류나 버그를 발생시킬 수도 있습니다.
이러한 문제를 추가 구문을 작성함으로써 편집기 초기에 오류를 포착할 수 있다면 충분히 써야 할 이유로 생각됩니다.
처음에는 그 과정이 귀찮고 번거로운 작업이라고 생각이 들겠지만 프로젝트가 점점 복잡해지고 고도화가 될수록 예측하기 어려운 부분들이 계속해서 나올 때, 큰 역할을 하게 될 것으로 생각됩니다.