Microsoft에서 개발한 JavaScript 슈퍼셋(Superset) 프로그래밍 언어이다.
JavaScript에 타입 시스템을 추가한 언어로 정적 타입(Static Type)을 지원하며 코드 유지 보수성과 가독성을 높이는 것을 목표로 한다.
확장자로는 .ts
를 사용하며 컴파일의 결과물로 JavaScript 코드를 출력한다.
최종적으로 런타임에서는 출력된 JavaScript 코드를 구동시킨다.
슈퍼셋(Superset) 프로그래밍 언어
기존 프로그래밍 언어를 확장하여 더 많은 기능을 제공하는 프로그래밍 언어를 말한다.
슈퍼셋은 기존 언어의 문법과 구문을 따르기 때문에 해당 언어에 익숙한 개발자들이 쉽게 학습하고 적응할 수 있다.
타입 스크립트는 변수와 함수 등의 요소에 타입을 명시적으로 지정해줘야 한다.
명시된 타입과 다른 값을 입력하면 컴파일 시 오류를 내거나 코드 작성시 해당 부분에 빨간줄을 그어 타입이 잘못 되었음을 알려준다.
이는 코드 실행시 버그가 날 확률을 줄여준다.
타입스크립트는 IDE(Intergrated Development Environment)에서 코드 자동 완성, 실시간 오류 검사 등을 지원한다.
이는 개발자의 생산성을 높이는 데 큰 도움이 된다.
타입스크립트는 자바스크립트의 슈퍼셋이기 때문에 자바스크립트 코드를 그대로 사용할 수 있다.
이는 기존의 자바스크립트 코드들도 쉽게 타입스크립트로 전환할 수 있도록 도와준다.
타입스크립트는 변수와 함수 등에 타입을 명시적으로 지정해줘야 한다.
이는 코드 작성 시 번거로운 작업이 될 수 있다.
타입스크립트는 정적 타입을 지원하기 때문에 일부 동적으로 타입을 생성하는 라이브러리와 호환성이 떨어질 수 있다.