TypeScript

JavaScript의 상위확장언어, TypeScript

bergerac 2025. 4. 15. 09:11

TypeScript란?

타입스크립트는 Microsoft에서 개발한 오픈소스 프로그래밍 언어로, 자바스크립트를 기반으로 하여 만들어졌습니다. 자바스크립트에 정적 타입이라는 기능을 더한 언어이다. 자바스크립트의 모든 문법과 기능을 그대로 포함하면서, 그 위에 타입 시스템을 얹은 **"상위 집합(Superset)이라고 볼 수 있다.

 

특징 요약:

  • 자바스크립트의 모든 문법을 그대로 사용 가능
  • 정적 타입 시스템을 도입해 컴파일 시점에 오류 탐지 가능
  • 코드 작성 시 개발 도구의 자동완성, 타입 추론, 리팩토링 지원이 뛰어남

TypeScript가 필요한 이유

자바스크립트는 동적 타입 언어이기 때문에 다음과 같은 문제가 자주 발생합니다:

  • 변수의 타입이 실행 시점까지 결정되지 않아 사전 에러 탐지가 불가능
  • 런타임 오류로 이어지는 예상치 못한 동작
  • 자동완성이나 타입 추론이 제한적이라 생산성이 떨어짐

이에 반해, TypeScript는 다음과 같은 장점을 제공합니다:

  • 컴파일 단계에서 오류를 탐지하여 안전한 코드 작성 가능
  • 개발 도구에서의 자동완성 기능 강화
  • 코드의 의도를 명확하게 표현할 수 있어 유지보수에 유리

정적 타입(TS)과 동적 타입(JS)의 차이

동적 타입 (JavaScript)

  • 변수의 타입이 코드 실행 중에 결정됨
  • 유연하지만, 오류 발생 가능성이 높음

정적 타입 (TypeScript)

  • 변수의 타입을 명시하거나 추론하여 컴파일 시점에 체크
  • 컴파일 단계에서 오류를 잡아내므로 안정성 향상
  • 에디터 자동완성, 타입 추적 등 개발 편의성 제공

TypeScript의 장점과 단점

장점:

  • 정적 타입 체킹으로 인해 사전 오류 방지
  • 개발 도구와의 연동이 뛰어남 (자동완성, 타입 추론, 리팩토링)
  • **객체 지향 프로그래밍(OOP)**에 대한 지원

단점:

  • 자바스크립트보다 학습 난이도가 높음
  • 초기 설정과 타입 정의 작성 등으로 인해 개발 시간이 증가할 수 있음
  • 일부 서드파티 라이브러리의 경우 타입 정의가 누락되거나 불완전할 수 있음

TypeScript 코드 실행 방법

타입스크립트 파일은 브라우저에서 직접 실행할 수 없기 때문에 자바스크립트로 컴파일한 후 실행해야 합니다.

기본 실행 절차:

  1. tsc 파일명.ts – 타입스크립트 파일을 자바스크립트로 컴파일
  2. node 파일명.js – 변환된 자바스크립트 파일을 Node.js로 실행

ts-node 사용 시: (실시간 실행 가능)

  • npm install -g ts-node 또는 프로젝트에 npm install --save-dev ts-node
  • ts-node 파일명.ts로 직접 실행 (중간에 JS 파일 생성하지 않음)

⚠️ ts-node를 사용하려면 프로젝트 루트에 node_modules가 있어야 하며, 의존성 설치가 선행되어야 합니다.


Git 업로드 시 주의사항

TypeScript 프로젝트를 Git에 업로드할 때는 반드시 node_modules 폴더를 제외해야 합니다. 이 폴더는 의존성 패키지를 담고 있어 용량이 크고, 각자 로컬에서 재설치할 수 있기 때문입니다.

.gitignore 파일에 추가할 내용:

node_modules/
*/node_modules