- 2012년 Microsoft에서 개발한 오픈소스 정적 타입을 지원하는 JavaScript의 상위 언어
- JavaScript코드에 타입을 부여하여 정적 타입 체크 가능
- 핵심 원칙 중 하나의 타입 검사가 값이 있는 형태에 집중
- 덕 타이핑(duck typing) 또는 구조적 타이핑(structural typing)이라 부름
- 작성한 코드를 JavaScript로 트랜스파일(Transpile)하여 실행
- ES6 + 문법 지원
noEmitOnError 설정을 통해 컴파일 타임에 에러 감지 가능
장점
- 정적 타입 지원으로 코드 작성 및 컴파일 타임에서 타입 에러를 감지하여 안정성 향상
- IDE 지원 강화
- 대형 프로젝트에서 유지보수성 향상
- 다양한 타입 선언 가능(외부 라이브러리의 타입 등)
장점
- JavaScript에 익숙하더라도 타입 시스템이나 문법 등의 러닝 커브 발생
- 초기 설정이 필요
- ts 코드를 js코드로 변환하여 트랜스파일 과정이 필요
- 프로젝트 규모가 커질수록 트랜스파일 소요 시간 증가
장점
npm install typescript
npm i @types/node // 자동완성 라이브러리