Jeongkuk Seo
Oct 15, 2018 · 4 min read

TypeScript는 Microsoft에 의해 개발/관리되고 있는 오픈소스 프로그래밍 언어입니다. 대규모 애플리케이션을 개발하는 데 자바스크립트가 어렵고 불편하다는 불만에 대응하기 위해 개발되었습니다.

TypeScript는 스크립트 언어의 표준인 ECMA Script (줄여서 ES)의 표준을 따르기 때문에 JavaScript 영역을 침범하지 않고 최신 ES를 지원합니다. 새로운 ES가 나올 때 마다, TypeScript 역시 버전 업을 하여 최신 ES의 기능을 지원합니다.

TypeScript 특징

TypeScript의 가장 큰 특징은 type을 지정하는 것입니다. 따라서 쉽게 보자면 이렇게 볼 수도 있습니다.

TypeScript = JavaScript + 타입

자바스크립트의 var 와 같은 자료형 대신, string, number와 같은 자료형을 지정함으로써 안정성을 확보합니다. TypeScript를 설치할 때 같이 설치되는 tsc(TypeScript Compiler)는 컴파일 과정에서 타입 검사를 통해 에러 없이 안정성이 확보되면 타입들을 제거하고 최종적으로 자바스크립트 코드를 생성합니다.

자바스크립트에 없는 type이 지원되면서 몇 가지 장점이 생기는데, 우선 변수에 type이 추가되어 안정성이 확보됩니다. 두 번째로 type에 대한 예외 처리를 하지 않아도 됩니다. 가령 javascript에서는 사용자 입력 값에 대해 예외처리를 위해 아래와 같이 코드를 작성할 수 있습니다.

if (typeof(변수) !== “string”) {
// 예외처리
}

위와 같은 예외처리가 빈번하게 발생할수록 오버헤드가 생기지만, typescript로 타입이 지정 될 시 위와 같은 예외처리 코드를 사용할 필요가 없습니다.

마지막 장점은 JavaScript 엔진의 최적화를 돕습니다. JavaScript 엔진은 hot function(자주 호출되는 함수)에 대해 최적화를 수행합니다. 아래 코드와 더불어 설명하겠습니다.

var add = function(a,b) { return a+b}

JavaScript 엔진은 위 함수가 자주 호출되며, 인자 a,b가 정수형으로 들어오는 것을 확인했습니다. 엔진은 ‘아! a,b는 앞으로도 정수가 들어오는구나’ 라고 가정하고 최적화를 수행합니다. 하지만 이는 100% 보장할 수 없으며 어느 순간 정수가 아닌 string이 들어올 경우, 이 최적화 된 코드는 string 처리를 할 수 없어 최적화가 해제됩니다. 최적화와 최적화 해제가 지속적으로 발생하면 오히려 성능이 더 저하됩니다. typescript에서는 type을 지정하고 컴파일 과정에서 이를 검사하기 때문에 최적화 해제가 발생할 상황이 더 적어집니다.

이 외에도 ES6이 지원하지 않는 namespace를 도입하여 전역 이름공간(global namespace)이 더러워지는 것을 완화합니다. 또한 ES6의 클래스 특징을 따르며, 여기에 ES6에 없는 인터페이스 특징을 지원함으로 더 나은 OOP 환경을 제공합니다.

TypeScript 미래

구글 트렌드에서 TypeScript vs coffeescript vs ES 6 비교 결과입니다. 참고로 coffeescript는 자바스크립트에 type을 추가하여 검사하는 또 다른 언어입니다.

결과만 봐도 전 세계에서 TypeScript에 대한 관심이 많은 걸 알 수 있습니다. 또한 구글에서 내 놓은 angular 2 프레임워크가 주력 언어를 TypeScript를 채택함으로써 생태계에 더 많은 활력을 불어넣었습니다.

sjk5766

IT World

Jeongkuk Seo

Written by

sjk5766

sjk5766

IT World

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade