Microsoft사에서 2012년경에 만든 오픈소스 언어로, JavaScript에 Type이 더해진 언어입니다. 기존의 JavaScript는
동적타입 언어(Dynamically Typed)
로 런타임시 타입이 결정되어 예기치 못한 오류가 발생할 수 있습니다.
정적타입 언어(Statically Typed)
로 코드를 작성할 때 타입을 명시해 줍니다. 또, 컴파일시 타입에 관한 에러를 잡아주어 상대적으로 디버깅이 쉽습니다.
let value = 25;
value = 'hello';
let value:number = 25;
value = 'hello'; // 에러발생!
JavaScript
가 ES6 업데이트를 하면서 Class를 통한 객체지향 프로그래밍이 가능했지만, 부족했습니다. 하지만TypeScript
는 다른 객체지향 언어처럼 인터페이스, 제네릭을 지원해 코드를 쉽게 구성할 수 있도록 합니다.
결국, TypeScript도 JavaScript 베이스이므로 JavaScript 런타임 환경 어디든 사용이 가능합니다.