마이크로 소프트에서 개발한 오픈소스 프로그래밍 언어이며,
자바스크립트의 단점을 보완하기 위해 만들어 졌습니다.
코드 작성 단계에서 타입을 체크해 오류를 확인할 수 있고 미리 타입을 결정하기
때문에 실행 속도가 매우 빠릅니다. 하지만 코드 작성 시 매번 타입을 결정해야 하기 때문에 번거롭고 코드량이 증가하며 컴파일 시간이 오래 걸릴 수 있습니다.
타입스크립트는 자바스크립트의 슈퍼셋, 즉 자바스크립트 기본 문법에 타입스크립트의 문법을 추가한 언어입니다. 따라서 유효한 자바스크립트로 작성한 코드는 확장자를 .js에서 .ts로 변경하고 타입스크립트로 컴파일해 변환할 수 있습니다.
타입스크립트는 ES6(ECMAScript 6)에서 새롭게 사용된 문법을 포함하고 있으며 클래스, 인터페이스, 상속, 모듈 등과 같은 객체 지향 프로그래밍 패턴을 제공합니다.
// math.js
function sum( a, b ){
return a + b;
}
sum(10,"20") //"1020"
///math.ts
function sum( a : number, b : number ){
return a + b;
sum("10","20")//error "10"은 number에 할당될 수 없습니다.
위처럼 타입스크립트는 자바스크립트에서 처럼 의도하지 않은 코드의 동작을
예방할 수 있습니다.
타입스크립트의 또 다른 장점은 코드를 작성할 때 개발 툴의 기능을 최대로 활용할 수 있다는 것입니다. 요즘에 프런트엔드 개발을 할 때 가장 많이 사용되는 Visual Studio Code는 툴의 내부가 타입스크립트로 작성되어 있어 타입스크립트 개발에 최적화 되어 있습니다.