TypeScript

담당
이진화
완료
완료
유형
TypeScript
비고
💡
타입스크립트는 자바스크립트의 모든 기능에 더해 정적 타입을 지원하는 언어로, 코드 작성 단계에서 타입을 체크해 자바스크립트 사용에서 발생할 수 있는 오류를 상당 부분 방지해 준다. 타입스크립트에서 타입과 인터페이스는 공통점이 많지만 선언과 확장에 있어 약간의 차이도 있으므로 필요에 따라 적절히 선택해서 사용해야 한다.

타입스크립트란?


타입스크립트는 자바스크립트의 슈퍼셋, 즉 자바스크립트 기본 문법에 타입스크립트의 문법을 추가한 언어다. 자바스크립트는 동적 타입의 인터프리터 언어로 런타임에 오류를 발견할 수 있다. 이에 반해 타입스크립트는 정적 타입의 컴파일 언어이며 타입스크립트 컴파일러 또는 바벨(Babel)을 통해 자바스크립트 코드로 변환된다.
 

타입스크립트를 사용하는 이유


  • 코드 작성 단계에서 타입을 체크해 오류를 확인할 수 있다.
  • 미리 타입을 결정하기 때문에 실행 속도가 빠르다.
  • IDE를 통해 자동완성, 타입 체킹 등 코드 작성에 도움을 받을 수 있다.
 

타입스크립트 사용 시 단점


  • 코드 작성 시 매번 타입을 결정해야 하기 때문에 번거롭다.
  • 컴파일 시간이 오래 걸린다.
  • 다른 라이브러리와 함께 사용할 때 초기 세팅이 까다로워질 수 있다.
 

type과 interface의 차이


  • 선언 가능한 타입
인터페이스는 객체 형태에 이름을 부여하는 것만 가능하다.
타입은 객체는 물론 원시값, 튜플 타입과 computed value에 대해서도 선언할 수 있다. 즉, 유니온 타입과 intersection(&)을 이용해 계산된 타입을 선언하는 것도 가능하다.
 
  • 선언 병합
같은 이름의 인터페이스를 여러 번 선언할 수 있다. 그리고 그들은 자동으로 병합된다(’선언 병합’).
반면에 타입은 중복 선언이 불가능하다.
 
  • 확장
타입과 인터페이스 모두 extends를 이용해 확장 가능하다. 그러나 유니온 타입과 같은 복잡한 타입을 이용할 때는 타입과 intersection(&)을 이용해서만 확장 가능하다.
 
 
참고 자료