[Korean FE Article] 타입스크립트 컴파일러가 컴파일하는 방법
소개
타입스크립트를 사용할 때 아마 한 번쯤 tsc 명령어를 입력해보셨을 것입니다. tsc 는 ‘typescript compiler’의 약어로 타입스크립트 파일을 자바스크립트 파일로 변환하는 역할을 합니다. 이 글에서는 어떻게 타입스크립트 컴파일러가 타입스크립트 파일을 자바스크립트 파일로 변환하는지에 대한 과정을 설명하고 있습니다. 관련 영상에 대한 링크도 본문에 첨부되어있으니 관심이 있으신 분들은 함께 시청해보시면 좋을 거 같습니다 🙂
tl;dr
타입스크립트 컴파일러는 타입스크립트 코드를 분석하여 자바스크립트로 컴파일하는 도구입니다.
타입스크립트 컴파일러가 컴파일할 때에 필요한 옵션은
tsconfig.json
파일 내에 정의합니다.컴파일 시작 시에 모든 컨텍스트는 Program 객체로 생성되고, 이 객체는 각각의 파일을 AST(Abstract Syntax Tree)로 변환하기 위해 Parser를 호출합니다.
Binder는 생성된 AST를 전달받아 AST Node와 Symbol 사이의 맵(Symbols Table)을 생성합니다.
이후
Program.emit
이 호출되면 AST를 자바스크립트 소스 코드 및 기타 항목의 문자열로 변환하기 위해 Emit Worker 가 생성됩니다.Emitter는 각 Node에서 Symbols Table의 타입 데이터를 이용하여 코드를 분석하고, 모든 과정이 잘 진행되었다면 마지막으로 자바스크립트 소스가 생성됩니다.