런타임과 컴파일타임
자바스크립트 런타임
자바스크립트는 대표적인 인터프리터 언어, 별도의 컴파일 과정이 존재하지 않는게 일반적이지만 떄떄로 V8엔진은 코드 최적화를 위해 컴파일단계를 함.
TS의 컴파일
AST : 컴파일러가 소스코드를 해석하는 과정에서 생성된 데이터구조. 어휘적 분석과 구문 분석을 통해 소스코드를 노드 단위의 트리 구조로 구성
코드검사기로서 코드에 타입 오류가 없는지 확인
코드 변환기로서의 타입스크립트 컴파일러. 특정버전의 javascript로 트랜스파일 가능
바벨과 차이?
스캐너 → 파서 → 바인더 → 체커 → 이미터
.ts토큰화 → 토큰기반 AST → AST노드 기반 심볼 생성 → AST + 심볼 타입검사 → .js 생성