취미부자 개발자 로즈🌼
작성일
2024. 3. 23. 09:08
작성자
로즈♡

사람이 프로그래밍 언어로 작성을 하면 기계어(컴퓨터가 이해 할 수 있는 언어)로 컴파일 하는 과정이 필요하다.

 

보통의 컴파일의 과정은 컴파일을 하게 되면, 결국 바이트 코드로 변환이 된다.

 

컴파일 과정을 보면 JS코드를 AST(추상 문법 트리)로 먼저 변환을 하는데 

컴파일러가 이 AST를 바이트 코드로 변환을 하면 컴파일이 종료 된다.

 

📌보통의 컴파일러 과정

JS > AST >  바이트 코드 > 실행

 

타입스크립트는 먼저 코드를 AST로 변환 하고, 

바이트 코드로 바로 변환하는 것이 아닌 타입검사를 통해 코드상 오류 여부를 확인한다.

 

검사 실패시 컴파일이 종료되고, 만약 정상코드라면 

AST를 JavaScript로 변환 후 컴파일이 종료된다. 

 

이때 타입관련 문법은 사라지고 안전한 JavaScript코드로 변환을 한다.

그렇게 만들어진 JavaScript로 변환 된 뒤에 

보통의 컴파일의 과정인 AST > 바이트 코드로 변환을 하게 된다.

 

📌타입스크립트의 컴파일러 과정

TS > AST > 타입 검사 > JS > AST >  바이트 코드 > 실행