→ 문제점 : 코드를 구성하는데 자유도가 높으나 이는 곧 독이 되기도 함
→ 문자열이었던 것이 다른 타입으로 변경되거나 메서드 이름이 변경되기도 함
→ 자바스크립트는 다른 언어와 달리 충돌 가능성을 먼저 확인하지 않고 코드를 실행하는 동적 타입언어(문제점을 발견하기 쉽지 않음)
→ JSDoc의 설명이 모두 맞는지, 주석을 모두 찾긴 어려우며, 복잡한 객체를 설명 시 다수의 독립적 주석 필요
2010년 초에 만들어져 2012년에 출시 및 오픈소스화됨
특징
1) 프로그래밍언어 : 자바스크립트의 모든 구문과 타입 정의하고 사용
2) 타입 검사기 : 모든 구성요소(변수, 함수 등) 이해하고 잘못된 부분을 알려줌
3) 컴파일러 : 타입 검사기를 실행하고 문제 보고한 후 자바스크립트 코드 생성
4) 언어 서비스 : VS Code 같은 편집기에 유용한 제공법을 알려줌(프로그래머에게 도움줌)
공식 웹사이트 : 플레이그라운드
타입스크립트는 매개변수와 변수에 제공되는 값의 타입을 지정할 수 있음
→ 제한을 둠으로써 다른 코드영역에서 코드를 확인 후 업데이트를 하지 않았다면 타입스크립트가 알려줌
정확한 문서화라는 의미 : 객체의 형태를 설명하고 해당 코드에 무슨 속성이나 메서드가 있는지 확인 할 수 있음
VS code에서 타입 검사기를 통해 코드에 유용한 제안을 하기도 함
node.js
가 설치되어야 함→ tsconfig.json
: 타입스크립트가 코드 분석 시 사용하는 설정 선언
→ 코드에 오류가 있어도 입력파일로부터 자바스크립트를 계속 생성함
→ 현재와 미래의 ECMA스크립트 제안에 맞춘다
→ 모든 자바스크립트 코드의 런타임 동작을 유지한다
→ 코드를 빌드하는데 자바스크립트보다는 시간이 좀 더 걸림(ts → js로 변환해야 함)