- 자바스크립트 10일만에 설계됨.
- ECMA 스크립트 = 자바스크립트의 기반이 되는 언어 사양 -> 2015이후 업뎃 = 최신 언어에서 제공하는 기능을 제공시작
-
자바스크립트 단점
- 값 비싼 자유 : 다른 언어는 컴파일러가 충돌할 수 있다고 판단하면 코드 실행을 거부할 수 있다. 하지만 자바스크립트처럼 충돌 가능성을 먼저 확인하지 않고 코드를 실행하는 동적 타입 언어는 그렇지 않다. -> 런타임에 에러 발생 가능성이 높다.
- 부족한 문서 : 함수의 매개변수, 반환, 변수 또는 다른 구성요소의 의미를 설명하는 표준화된 내용 없음 -> jsdoc을 사용하지만 코드를 강제하지는 못함.
- 부족한 개발자 도구 : 코드의 대규모 변경을 자동화 하거나 통찰력을 얻기가 힘듬. -> 타고타고 가는 거 안됨.
- 타입스크립트 : 자바스크립트에 타입문법을 추가해서 만든 수퍼 셋
-
타입스크립트가 해결하는 문제
- 변수에 대한 타입 제한 : 코드를 지정한 방법으로 제한 -> 이 코드를 사용하는 다른 영역이 멈추지 않는다는 확신을 줄 수 있음.
- 정확한 문서화 : 구문을 적용해 객체의 형태를 설명하고, 객체가 어떻게 보이는지 설명한다.
- 개발자도구 : 자동완성!
- 구문 컴파일 : 자바스크립트와 호환성 지원. 컴파일러를 통해서 타입을 검사한 후 작성된 코드에 해당하는 자바스크립트를 내보냄.
- 하지만 은총알은 아니라는 거.
-
타입스크립트에 대한 오해
- 타입스크립트는 코드 스타일을 강요하지 않는다.
- 자바스크립트와 완전히 다른 것이 아니라. 타입스크립트는 자바스크립트의 작동 방식을 전혀 변경하지 않는다.
- 코드를 빌드하는데 시간이 조금 더 걸리지만 자바스크립트보다 느리지 않다.
- 계속해서 발전하고 있다.