TypeScript

Dev_Go·2022년 7월 3일
0

TypeScript Essentials

목록 보기
1/24
post-thumbnail

TypeScript


자바스크립트는 동적 타입의 인터프리터 언어로 런타임에서 오류를 발견할 수 있다. 이에 반해 타입스크립트는 정적 타입의 컴파일 언어이며 타입스크립트 컴파일러 또는 바벨(Babel)을 통해 자바스크립트 코드로 변환된다. 코드 작성 단계에서 타입을 체크해 오류를 확인할 수 있고 미리 타입을 결정하기 때문에 실행 속도가 매우 빠르다는 장점이 있다. 하지만 코드 작성 시 매번 타입을 결정해야 하기 때문에 번거롭고 코드량이 증가하며 컴파일 시간이 오래 걸린다는 단점이 있다.

  • 타입스크립트는 'Programming Language언어' 이다.
  • 타입스크립트는 'Compiled Language' 이다.
    • 전통적인 Compiled Language와는 다른점이 많다.
    • 그래서 Transpile이라는 용어를 사용하기도 한다.
  • 자바스크립트는 'Interpreted Language' 이다.

자바스크립트 슈퍼셋(Superset)

타입스크립트는 자바스크립트의 슈퍼셋, 즉 자바스크립트 기본 문법에 타입스크립트의 문법을 추가한 언어이다. 따라서 유효한 자바스크립트로 작성한 코드는 확장자를 .js에서 .ts로 변경하고 타입스크립트로 컴파일해 변환할 수 있다.

객체 지향 프로그래밍 지원

타입스크립트는 ES6(ECMAScript 6)에서 새롭게 사용된 문법을 포함하고 있으며 클래스, 인터페이스, 상속, 모듈 등과 같은 객체 지향 프로그래밍 패턴을 제공한다.

Compiled와 Interpreted 차이점

CompiledInterpreted
컴파일이 필요 O컴파일이 필요 X
컴파일러가 필요 O컴파일러가 필요 X
컴파일하는 시점 O = 컴파일타임컴파일하는 시점 X
컴파일된 결과물을 실행코드 자체를 실행
컴파일된 결과물을 실행하는 시점코드를 실행하는 시점 O = 런타임
profile
프론트엔드 4년차

0개의 댓글