Skip to content

TypeScript 동작 원리

TypeScript는 실행 전 컴파일 단계에서 타입 검사를 수행하고, 검사를 통과한 코드를 JavaScript로 트랜스파일하여 실행한다. 즉, 안전한 자바스크립트 코드를 만들어주는 전처리기라고 할 수 있다.


1. 컴파일러의 동작 흐름

대다수의 프로그래밍 언어는 코드를 추상 구문 트리(AST)로 변환하고, 그 구조를 기반으로 바이트 코드를 만들어 실행한다.
이 과정을 통해 컴퓨터는 사람이 작성한 코드를 이해하고 실행할 수 있다.


2. JavaScript의 컴파일 과정

JavaScript 역시 실행 전 내부적으로 AST를 생성하지만, 타입 검사 과정이 존재하지 않아 런타임에 오류가 발생할 수 있다.


3. TypeScript의 컴파일 과정

TypeScript는 JavaScript의 컴파일 과정에 타입 검사(Type Checking) 단계를 추가한다.

  1. TypeScript 코드를 AST로 변환
  2. 타입 검사 수행
    • 검사 통과 시 → JavaScript 코드로 변환
    • 검사 실패 시 → 컴파일 중단 및 오류 메시지 출력

즉, TypeScript는 안전한 JavaScript를 생성하기 위한 전처리 언어다.


4. TypeScript → JavaScript 변환 과정

타입 검사를 통과한 후 생성된 JS는 결국 런타임에서 실행되지만, 그 이전에 오류를 미리 차단하기 때문에 코드의 안정성이 크게 향상된다.


5. TypeScript 동작 요약

단계설명결과
1. 파싱 (Parsing)TS 컴파일러가 코드를 읽어 AST 생성코드 구조 분석
2. 타입 검사 (Type Checking)변수·함수·표현식의 타입을 검사하여 오류 탐지오류 시 컴파일 중단
3. 트랜스파일 (Transpile)AST를 기반으로 타입 주석 제거 후 JS 코드 생성안전한 JS 코드 출력
4. 실행 (Execution)변환된 JS 코드가 런타임에서 실행프로그램 실행 완료