티스토리 뷰
Goal
- 일반적인 프로그램의 실행과정을 알아본다.
- typescript로 작성된 프로그램의 실행 과정을 알아본다.
1. 일반적인 프로그램의 실행 과정
1. 프로그래머가 코드 작성 (프로그램)
2. 프로그램이 컴파일러에 의해 AST구조로 파싱 되고, 바이트 코드로 컴파일 됨.
3. 바이트코드가 런타임에 의해 평가(실행 및 결과 도출)됨.
2. ts코드로 작성된 프로그램의 실행 과정
- 프로그래머가 작성한 타입스크립트 코드가 TSC컴파일러에 의해 AST구조로 파싱됨.
- 파싱된 AST구조의 코드는 타입체커에 의해 타입이 검사됨.
- 타입스크립트 AST를 자바스크립트 코드로 변환
- 자바스크립트 코드를 AST구조로 파싱
- AST구조의 코드가 바이트 코드로 컴파일 됨.
- 컴파일된 바이트 코드가 자바스크립트의 런타임에의해 실행되고 결과가 도출 됨.
- 1~3번의 과정은 TSC(타입스크립트 컴파일러)에 의해 처리되고, 4~6번 과정은 자바스크립트 런타임(브라우저의 Javascript엔진, NodeJS 등)에 의해 처리됨.
1~3번의 과정에서 타입을 검사하기 때문에 타입스크립트는 안전하다. 이 부분으로 인해 프로그래머가 예상한대로 프로그램이 동작하는 지를 안전하게 검출할 수 있음.
*더 보면 좋을 자료
- ( 추상구문트리란? )
'토막지식시리즈 > javascript 토막지식' 카테고리의 다른 글
for in vs for of (자바스크립트) (0) | 2021.11.15 |
---|---|
Typescript에서 interface와 타입별칭으로 정의한 타입의 프리뷰가 다른이유. (0) | 2021.10.15 |
Typescript 타입 종류 알아보기! (unknown) (0) | 2021.07.10 |
Typescript 타입 종류 알아보기! (any) (0) | 2021.07.10 |
[Typescript] Non-null assertion operator (Non-null 단언 연산자) (0) | 2021.06.28 |
댓글
최근에 올라온 글
최근에 달린 댓글
TAG
- 20200317
- 백준
- 20200406
- 20200804
- 20200512
- likelion
- 20200415
- 20200424
- 생활코딩리눅스
- 20200503
- 20200427
- 20200413
- 20200423
- 20200429
- 20200420
- 20200403
- 20200510
- 20200425
- 20200624
- 20200622
- 20200428
- 20200330
- 20200504
- chapter7
- 20200502
- 20201204
- 20200421
- 20200319
- 20200417
- chapter8
- Total
- Today
- Yesterday