타입스크립트는 자바스크립트에 타입을 부여한 언어이다. 자바스크립트의 확장된 언어라고 볼 수 있다. 타입스크립트는 자바스크립와 다르게 브라우저에서 실행하기 위해 파일을 한번 변환해주어야 한다. 이 변환 과정을 우리는 컴파일(compile) 이라고 부른다.
자바스크립트도 충분히 복잡하고 어려운데 왜 또 다른 언어를 배워야 하까? 단지 최신 기술이라서? 혹은 다른 회사도 많이 사용하니까 우리도 써야 하는 걸까? 라는 고민을 하게된다. 타입스크립트는 아래 2가지 관점에서 자바스크립트 코드의 품질과 개발 생산성을 높일 수 있다.
// 자세한 설명은 생략한다.
// @ts-check
/**
*
* @param {number} a
* @param {number} b
*/
function sum(a, b) {
return a + b;
}
sum(10, '20');
위 코드처럼 js를 ts처럼 쓸 수는 있지만 코드의 양이 어마하게 늘어나고 비효율적이기 때문에 ts를 쓴다.