# 타입스크립트란?
2012년 마이크로소프트가 발표한 타입스크립트(TypeScript)는 자바스크립트(JavaScript)를 기반으로 정적 타입 문법을 추가한 프로그래밍 언어입니다. 최근에는 프론트엔드 분야에서 필수적으로 사용되고 있는 스킬셋 중 하나이며 자바스크립트와 리액트 이후로 가장 각광 받고 있는 언어 입니다.
개발자 지식공유 서비스인 스택 오버플로(Stack Overflow)에서 2020년 전세계 6만 5천 명의 개발자를 대상으로 실시한 설문조사에 따르면 타입스크립트는 개발자가 가장 좋아하고 관심을 가지는 프로그래밍 언어 2위에 올랐습니다. 타입스크립트를 사용하는 대부분의 개발자들은 이 언어를 계속 사용하고 싶다고 응답했다니 그 인기를 짐작할 수 있을 것입니다.
# 타입스크립트 특징
# 트랜스파일러 언어, 정적 타입언어
자바스크립트는 동적 타입의 인터프리터 언어로 런타임에서 오류를 발견하는 것이 가능합니다. 그와 반대로 타입스크립트의 경우에는 정적 타입의 트랜스파일러 언어이며 타입스크립트 트랜스파일러(tsc)와 바벨(Babel)을 통해 자바스크립트 코드로 변환이 됩니다.
코드 작성 단계에서 타입을 검증하기 때문에 개발자의 오류를 확인할 수 있고 타입을 변수 선언시 결정하기 때문에 실행속도가 빠르다는 장점이 있습니다. 하지만 코드를 작성할 때마다 타입을 매번 결정해야 하기 때문에 코드량이 증가하며 트랜스파일러 시간이 증가 합니다.
# 자바스크립트의 슈퍼셋
타입스크립트의 기본 문법에 타입스크립트의 문법을 추가하여 만든 언어입니다.
# 객체지향 지원
이전의 자바스크립트에서느 Class를 구현하기 위해서 Prototype을 이용해서 만들어야 하였지만 타입스크립트는 클래스, 인터페이스, 상속, 모듈과 같은 객체지향의 프로그래밍을 지향합니다. 타입스크립트 트랜스파일시에 자바스크립트의 언어로 모두 변환이 됩니다.