Skip to content

Latest commit

 

History

History
51 lines (34 loc) · 1.73 KB

File metadata and controls

51 lines (34 loc) · 1.73 KB

1. 타입스크립트란?

자바스크립트의 기능은 모두 지원하면서 정적 타입을 지원하는 자바스크립트의 수퍼셋(superset).

  • 자바스크립트

    • 동적 타입 언어
    • 변수의 type이 런타임에 결정
  • 타입스크립트

    • 정적 타입 언어
    • 변수의 type이 컴파일타임에 결정

동적 타입 언어와 정적 다입 언어는 어떻게 다른가?

  • 정적 타입 언어

    • 진입 장벽 높음(타입 종류나 지정 등 처음부터 배울 양이 많아 일반적으로 높음)
    • 코드의 양이 많을 때 생산성 높음
    • 타입 오류가 컴파일 때 발견
    • 예시: Java, C++, ...
  • 동적 타입 언어

    • 진입 장벽 낮음
    • 코드의 양이 적을 때 생산성 높음
    • 타입 오류가 런 타임 때 발견 -> 사용자에게 버그가 노출될 가능성이 높아짐
    • 예시: Python, PHP, JS, ...

그외 특징

타입스크립트는 마이크로소프트가 개발하고 있고 자바스크립트가 지원하는 기능들은 빠르게 추가된다.

다른 JS 정적 타입 언어들보다 큰 생태계를 갖고 있고

마이크로소프트가 개발한 VS CODE와 궁합이 잘 맞는다.

타입 정의 파일

웬만큼 유명한 라이브러리는 타입스크립트의 타입 정의 파일이 존재한다.

라이브러리에 내장되어 있거나, DefintedlyTyped 라는 깃헙 저장소에 포함되어 있다.

DefintedlyTyped에 추가된 패키지는 @types/name 처럼 앞에 @types가 붙는다.

npm i @types/name 

위와 같이 입력하면 name라는 타입 정의 파일이 설치된다.

참고