타입스크립트는 2012년 마이크로소프트에서 자바스크립트 기반의 정적 타입 문법을 추가한 '프로그래밍 언어'이다. 타입스크립트는 개발자가 가장 좋아하고 관심을 가지고 있는 프로그래밍 순위 5위에 오르기도 했다. 타입스크립트는 자바스크립트의 슈퍼 셋, 즉 상위 확장자로 자바스크립트 엔진을 사용하며 자신이 원하는 변수의 타입을 정의하고 프로그래밍을 하면 자바스크립트로 컴파일되어 실행할 수 있다. 타입스크립트는 자바스크립트와 달리 브라우저에서 실행하려면 파일을 한번 변환해 주어야 하는데 이러한 변환 과정을 컴파일이라고 부른다.
우선 타입스크립트를 사용하는 가장 큰 이유는 언어에서 알 수 있듯이 타입 때문이다. 타입이란, 한글로 자료형이라고 볼 수 있다. 어떠한 변수가 숫자인지, 문자인지 불린형인지에 관한 추상 형태를 의미힌다. 타입스크립트의 정적 타입 기반, 즉 컴파일을 하는 과정에서 타입을 결정하게 된다. 타입스크립트는 컴파일 과정에서 타입을 지정하기 때문에 컴파일 에러를 예방할 수 있을 뿐만 아니라, 손쉬운 디버깅이 가능해진다.
또한 타입스크립트는 높은 생산성을 제공한다. 자바스크립트로 코드를 작성할 때, 객체의 필드나 함수의 매개변수로 들어오는 값이 무엇인지 알기 위해 여러 파일을 살펴야 했지만 타입스크립트를 사용한다면 변수의 이름뿐만 아니라 그 데이터의 자료형까지 알 수 있게 된다.
작성한 타입스크립트 코드는 타입스크립트 컴파일러(tsc)를 통해 파싱하여 타입스크립트 AST 코드로 변환된다. AST는 Abstract Syntax tree의 약자로, 추상화 문법트리라는 의미를 갖는다. 프로그래밍 언어(고급언어)를 컴파일러를 통해 파싱하여서 AST의 구조형태의 코드로 만들어지게 된다. 그 이후 타입 검사기(Typechecker)를 통해 파싱된 타입스크립트 AST 코드의 타입을 체크하고, 타입스크립트 AST 코드를 자바스크립트 코드로 변환한다. 여기까지의 과정들은 타입스크립트 컴파일러(tsc)에 의해 수행된다. 이후로 자바스크립트 코드를 자바스크립트 AST 코드로 파싱하고 자바스크립트 AST를 바이트 코드로 변환한다. 이 때 런타임(runtime)이라는 실행환경에서 바이트 코드를 실행한다. 여기까지의 과정은 자바스크립트 런타인에 의해 수행된다.