Typescript 소개

Typescript는 MS에서 개발한 자바스크립트의 상위 집합 언어입니다. 타입스크립트는 정적 타입을 지원하며, 개발자에게 타입 검사, 코드 어시스트, 코드 완성 등의 기능을 제공하여 개발 프로세스를 개선합니다.

  1. 정적 타입 시스템: 타입스크립트는 정적 타입을 지원하여 개발자가 코드를 작성할 때 타입 에러를 사전에 감지할 수 있습니다. 이는 디버깅 시간을 단축시키고 코드의 안정성을 높이는 데 도움이 됩니다.
  2. 객체지향 프로그래밍 지원: 타입스크립트는 클래스, 인터페이스, 상속, 제네릭 등 객체지향 프로그래밍 개념을 제공합니다. 이를 통해 코드의 구조화와 재사용성을 증가시킬 수 있습니다.
  3. 최신 ECMAScript 기능 지원: 타입스크립트는 ECMAScript 표준에 따라 개발되며, 최신 자바스크립트 문법과 기능을 지원합니다. 이를 통해 타입스크립트는 자바스크립트 생태계의 발전에 기여하면서도 추가적인 타입 체크와 에러 방지 기능을 제공합니다.
  4. 도구 지원: 타입스크립트는 tsserver를 통해 코드 어시스트, 자동 완성, 타입 검사 등 다양한 개발 도구와의 통합을 지원합니다. IDE나 편집기와 함께 사용하면 개발자의 생산성을 향상시킬 수 있습니다.

javascript와 typescript의 관계

javascript와 typescript의 관계

Typescript 추세

2022년까지 javascript 생태계중 가장 많이 사용된 자바스크립트 컴파일 언어

2022년까지 javascript 생태계중 가장 많이 사용된 자바스크립트 컴파일 언어

tsserver란?

타입스크립트의 언어 서버(Language Server).
개발시 IDE텍스트 편집기와 같은 도구에서 타입스크립트를 지원하기 위에 사용. 타입스크립트 독립형 서버이며, typescript 컴파일러와 언어 서비스를 캡슐화하고 JSON 프로토콜을 통해 노출하는 노드(Node.js) 실행 파일

  1. 타입 검사, 식별자 확인, 리팩토링 지원, 오류 표시 등

  2. 다른 도구와의 통합을 용이하게 하기 위해 Language Server Protocol(LSP)를 따름

  3. LSP는 서로 다른 개발 도구 사이에 표준화된 통신 프로토콜로, tsserver를 포함한 다양한 언어 서버와 개발 도구 사이의 상호 기능을 가능하게함.

    서브라임텍스트, VSCode, Tid, Neovim

    서브라임텍스트, VSCode, Tid, Neovim


구조

동작순서