TypeScript란?
타입스크립트는 Microsoft에서 개발한 오픈소스 프로그래밍 언어로, 자바스크립트를 기반으로 하여 만들어졌습니다. 자바스크립트에 정적 타입이라는 기능을 더한 언어이다. 자바스크립트의 모든 문법과 기능을 그대로 포함하면서, 그 위에 타입 시스템을 얹은 **"상위 집합(Superset)이라고 볼 수 있다.
특징 요약:
- 자바스크립트의 모든 문법을 그대로 사용 가능
- 정적 타입 시스템을 도입해 컴파일 시점에 오류 탐지 가능
- 코드 작성 시 개발 도구의 자동완성, 타입 추론, 리팩토링 지원이 뛰어남
TypeScript가 필요한 이유
자바스크립트는 동적 타입 언어이기 때문에 다음과 같은 문제가 자주 발생합니다:
- 변수의 타입이 실행 시점까지 결정되지 않아 사전 에러 탐지가 불가능
- 런타임 오류로 이어지는 예상치 못한 동작
- 자동완성이나 타입 추론이 제한적이라 생산성이 떨어짐
이에 반해, TypeScript는 다음과 같은 장점을 제공합니다:
- 컴파일 단계에서 오류를 탐지하여 안전한 코드 작성 가능
- 개발 도구에서의 자동완성 기능 강화
- 코드의 의도를 명확하게 표현할 수 있어 유지보수에 유리
정적 타입(TS)과 동적 타입(JS)의 차이
동적 타입 (JavaScript)
- 변수의 타입이 코드 실행 중에 결정됨
- 유연하지만, 오류 발생 가능성이 높음
정적 타입 (TypeScript)
- 변수의 타입을 명시하거나 추론하여 컴파일 시점에 체크
- 컴파일 단계에서 오류를 잡아내므로 안정성 향상
- 에디터 자동완성, 타입 추적 등 개발 편의성 제공
TypeScript의 장점과 단점
장점:
- 정적 타입 체킹으로 인해 사전 오류 방지
- 개발 도구와의 연동이 뛰어남 (자동완성, 타입 추론, 리팩토링)
- **객체 지향 프로그래밍(OOP)**에 대한 지원
단점:
- 자바스크립트보다 학습 난이도가 높음
- 초기 설정과 타입 정의 작성 등으로 인해 개발 시간이 증가할 수 있음
- 일부 서드파티 라이브러리의 경우 타입 정의가 누락되거나 불완전할 수 있음
TypeScript 코드 실행 방법
타입스크립트 파일은 브라우저에서 직접 실행할 수 없기 때문에 자바스크립트로 컴파일한 후 실행해야 합니다.
기본 실행 절차:
- tsc 파일명.ts – 타입스크립트 파일을 자바스크립트로 컴파일
- 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
'TypeScript' 카테고리의 다른 글
TypeScript "Type" - Union (0) | 2025.04.19 |
---|---|
TypeScript "Type" -객체 타입과 타입 별칭(alias) (0) | 2025.04.18 |
TypeScript "Type" - 종류와 사용 (1) | 2025.04.17 |
TypeScript에서 변수 충돌을 방지하는 두가지 방법 (0) | 2025.04.16 |
TypeScript 환경설정하기 (1) | 2025.04.14 |