본문 바로가기

타입스크립트


타입스크립트


= 컴파일 했을 때 자바스크립트가 되는 언어



타입스크립트(TypeScript)는 마이크로소프트에서 개발 및 유지되는 자바스크립트 슈퍼셋이다.

타입스크립트는 자바스크립트로 대규모 애플리케이션 개발을 위해 개발되었다.

자바스크립트에서 자신이 원하는 타입을 정의하고 프로그래밍을 하면 자바스크립트로 컴파일되어 실행할 수 있다.

타입스크립트는 모든 운영체제, 모든 브라우저, 모든 호스트에서 사용가능한 오픈소스이다.

- 위키백과




컴파일 시점에 타입 체크

CoffeeScript, TypeScript, ClojureScript, GorillaScript 




왜 타입스크립트를 쓰는가


기능 추가

혁신의 자유로움


TypeScript는 인터페이스와 추상 클래스, 대수(algebraic) 데이터 타입 등의 기능을 JavaScript 에 더하며, 다른 라이브러리들을 추가적으로 사용하지 않아도 된다.


변환 언어는 순수한 JavaScript 에 새로운 기능을 도입하며 그것들에 대해 자세히 알지 않더라도 인터페이스를 이용하여 사용할 수 있게 한다. 

우리는 심지어 일반적인 JavaScript 를 쓸 때도 이미 이런 과정을 하고 있는데, JavaScript 의 최신 기능을 사용하기 위해 ES6 를 ES5 로 변환하는 트랜스파일러(transpiler)를 사용하는 것과 같은 방식이다. 


TypeScript 는 CoffeeScript 보다 좀 더 보수적이다. 

새로운 문법이나 디자인 패턴을 제안하기 보다는 JavaScript 자체를 시작점으로, 기본에 작은 것을 더하는 것으로 시작했다. 

예외사항은 거의 없으며 심지어 vanilla ES6 는 TypeScript 의 문법과 완벽하게 호환된다. 

다른 JavaScript로 컴파일 되는 언어들에 비해 좀 더 접근하기 쉬운 이유이다.


변환 언어는 새 버전의 JavaScript 를 이전 버전의 JavaScript 로 변환하는 것보다 좀 더 급진적인 아이디어 이지만, 원리는 비슷하다. 
그리고 변환 언어의 가치는 명백하다 : 변환 언어는 새로운 방식을 실험, 확장, 탐험하는 데에 원동력이 된다.




타입스크립트 장점


가장 주목할만한 것은 클래스 인터페이스, 컴파일타임 타입 체크이며, 이외에도 많은 기능이 숨어있다.

친숙함

TypeScript 의 특징 : 컴파일시점의 타입 체크, 인터페이스, 클래스 기반의 디자인 패턴


지원

대부분의 JavaScript 로 변환되는 언어들이 커뮤니티의 노력으로 운영되는 반면, TypeScript 는 공식적으로 Microsoft 의 지원을 받는다. MS 에서는 TypeScript를 개발하기 위해 많은 시간을 들였고, 개발자들은 기술적인 거인들의 지원을 받으면서 편안하게 TypeScript를 접할 수 있다.

 TypeScript 는 인기있는 에디터들이 모두 지원하며 Sublime Text, Atom, Eclipse, Emacs, WebStorm, Vim 들과 함께 당연히 Microsoft Visual Studio 제품군도 지원한다.


TypeScript는 실제 프로젝트에도 많이 사용되고 있고, 어떤 환경에서 다루던지 문제 없을 것이다.

Angular 2 의 메인 코드는 TypeScript 로 작성되었고, 상당한 제안들이 커뮤니티에 계속되고 있다.


자바스크립트 표준과 상호 호환

TypeScript의 가장 중요한 점은 TypeScript가 그냥 JavaScript라는 것이다. 




타입스크립트는 왜 만들어졌을까


JavaScript가 대규모 어플리케이션에 적합하지 않다는 내부 팀과 고객사의 불평들을 대응하기 위해 만들어졌다.

"JavaScript 개발 범위의 어플리케이션을 위한 언어"가 되었고, JavaScript 의 상위언어집합(superset)이 되었다.





* 타입스크립트 단점

그러나 적지 않은 수의 사람들이 TypeScript 를 꺼리고 있다. 그도 그럴 것이, TypeScript 는 결국 컴파일 하면 JavaScript 가 되기 때문이다. 우리는 당연히 중간 과정을 필요로 하지는 않는다. 순수함을 지향하려는 입장에서 어떤 감정일지 짐작이 간다.

출처: http://han41858.tistory.com/14 [한장현입니다.]