토막지식시리즈/javascript 토막지식
Typescript는 어떻게 동작할까? (왜 safe할까?)
GrapeMilk
2021. 10. 15. 16:23
Goal
- 일반적인 프로그램의 실행과정을 알아본다.
- typescript로 작성된 프로그램의 실행 과정을 알아본다.
1. 일반적인 프로그램의 실행 과정
1. 프로그래머가 코드 작성 (프로그램)
2. 프로그램이 컴파일러에 의해 AST구조로 파싱 되고, 바이트 코드로 컴파일 됨.
3. 바이트코드가 런타임에 의해 평가(실행 및 결과 도출)됨.
2. ts코드로 작성된 프로그램의 실행 과정
- 프로그래머가 작성한 타입스크립트 코드가 TSC컴파일러에 의해 AST구조로 파싱됨.
- 파싱된 AST구조의 코드는 타입체커에 의해 타입이 검사됨.
- 타입스크립트 AST를 자바스크립트 코드로 변환
- 자바스크립트 코드를 AST구조로 파싱
- AST구조의 코드가 바이트 코드로 컴파일 됨.
- 컴파일된 바이트 코드가 자바스크립트의 런타임에의해 실행되고 결과가 도출 됨.
- 1~3번의 과정은 TSC(타입스크립트 컴파일러)에 의해 처리되고, 4~6번 과정은 자바스크립트 런타임(브라우저의 Javascript엔진, NodeJS 등)에 의해 처리됨.
1~3번의 과정에서 타입을 검사하기 때문에 타입스크립트는 안전하다. 이 부분으로 인해 프로그래머가 예상한대로 프로그램이 동작하는 지를 안전하게 검출할 수 있음.
*더 보면 좋을 자료
- ( 추상구문트리란? )