TypeScript 소개 & TypeScript를 사용하는 이유

CHAENG·2023년 12월 13일
0

FrontEnd

목록 보기
1/10

✅ TypeScript란?

타입스크립트란, 자바스크립트를 기반으로 정적 타입 문법을 추가한 프로그래밍 언어다.

✅ TypeScript 특징

컴파일 언어, 정적 타입 언어

자바스크립트는 동적 타입의 인터프리터 언어로 런타임에서 오류를 발견할 수 있습니다. 이에 반해 타입 스크립트는 정적 타입의 컴파일 언어이며, 타입스크립트 컴파일러 또는 바벨을 통해서 자바스크립트 코드로 변환된다.

코드 작성 단계에서 타입을 체크해 오류를 확인할 수 있고 미리 타입을 결정하기 때문에 실행 속도가 매우 빠르다는 장점이 있다. 하지만 코드 작성 시 매번 타입을 결정해야 하기 때문에 번거롭고 코드량이 증가하며 컴파일 시간이 오래걸린다는 단점이 있다.

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

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

객체 지향 프로그래밍 지원

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

✅ TypeScript 장점

  • 안정적인 개발과 높은 수준의 코드 품질을 유지할 수 있다.
  • TypeScript는 컴파일 과정에서 타입을 지정하기 때문에 컴파일 에러를 예방할 수 있을뿐 아니라, 손쉬운 디버깅이 가능하다.
    • 즉 개발단계에서 에러를 발견할 수 있어 안정성이 높아진다.
  • TypeScript를 사용한다면 변수의 이름뿐만 아니라 그 테이터의 자료형까지 알 수 있어, 코드 작성을 쉽고 직관적으로 할 수 있다.

✅ TypeScript 단점

  • 초기 세팅의 어려움, TypeScript는 독자적인 언어가 아니기 때문에 기존의 JavaScript 엔진에서 실행되므로 기본적으로 설치해야 하는 모듈들이 있고, 컴파일을 하기 위한 옵션들도 설정해야 한다.
  • 타입 지정으로 인한 생산성 저하 우려, 매번 타입을 지정해줘야 하는 번거로움과 타입 어노테이션으로 인한 타입 에러로 실제 개발보다 타입을 지정하는 데 시간을 더 할애할 수 있다.

✅ TypeScript vs JavaScript

TypeScriptJavaScript
정적타입 언어동적타입 언어
컴파일 언어인터프리터 언어
자바스크립트에 의존적임 (자바스크립트로 컴파일된 후 실행)독립적으로 사용가능
더 나은 구조, 간결함, 일관성, 재사용성타입에 제한받지 않으므로 조금 더 유연함
.ts 확장자.js 확장자
복잡한 프로젝트에 적합작고 간단한 프로젝트에 적합

*️⃣ 정리

TypeScript는 JavaScript를 기반으로 정적 타입 문법을 추가한 컴파일 언어이다.

기존 인터프리터 언어인 JS는 컴파일 과정을 거치지 않아, 런타임에서 에러가 발견되지만, TS의 경우는 컴파일 과정에서 타입을 지정하기 때문에 에러를 예방할 수 있으며, 쉬운 디버깅이 가능하고 개발과정에서 오류를 사전에 방지할 수 있어 안정성이 높다.

소스코드를 기계어로 번역하는 과정에서 인터프리터 언어에 비해(JS) 시간이 오래 걸린다는 단점이 있다. 하지만 런타임 상황에서는 모든 소스코드가 변환되어 있기에 빠르게 실행할 수 있다

라인이 늘어나 가독성이 떨어질 수 있으며, 만약 다양한 타입을 사용하지 않고 any type만 사용한다면 사용성의 의미가 사라지게 된다.

profile
FrontEnd Developer.

0개의 댓글

관련 채용 정보