타입스크립트?
MS에서 만든 오픈소스 프로젝트
Superset of JavaScript로 JS가 기반이므로, JS가 돌아가는 환경이라면 활용 가능.
타입 결정 순간
JS
는dynamically typed
되므로 컴파일 단계에서 찾지 못하고 런타임 에러가 터지는 경우가 많다. 빠르게 프로토타입 잡는 데에는 장점이 되겠지만, 규모가 커질수록 에러 잡기도 어려워 단점으로 작용한다.- 가독성도 떨어짐 ( 한눈에 어떤 데이터를 담는 변수인지 모르므로 )
TS
는Statically Typed
되므로 컴파일 에러로 대부분의 에러를 잡을 수 있다는 큰 장점이 있다.
객체지향?
JS
도Prototype-based
로 객체지향 설계가 가능하며생성자 함수
도 지원하고클래스
도 생겼지만, 이것만으로는 강력한 객체지향 프로그래밍을 짜기에는 한계가 있다.
TS
에는 다른 객체지향 언어들처럼interface
,class
,generics
,types
등도 활용할 수 있어 더욱 막강한 객체지향 프로그래밍이 가능하다.
JS가 돌아가는 환경이라면 OK
TS
는 JS위에 얹어져 있다고 생각하면 됨.
- TS를 그대로 쓰는 게 아니라 JS로 transcompile을 거쳐 실행하므로 JS가 돌아가는 환경이면 됨.
컴파일러?
TS → JS로 변환해줄 컴파일러는 타입스크립트 툴 자체에서 제공하는 컴파일러 또는
Babel
을 써도 됨.어떤 ES 버전으로 변환할 지 설정하여 모든 브라우저에서 동작 가능하도록 변환 가능.