자바스크립트 엔진
imaginaring:
자바스크립트는 인터프리터 언어로 알려져 있지만, 현대의 js 엔진은 더 빠른 실행을 위해 컴파일러와 최적화 과정을 포함한다고 한다. 엔진 동작 단계파싱 (Parsing)자바스크립트 코드를 토큰화하고 추상 구문 트리(Abstract Syntax Tree)를 생성변수와 함수 선언이 스코프에 등록됨변수의 선언부만 상단으로 끌어올려지고, undefined로 초기화함수 선언문은 전체 함수 정의가 호이스팅되므로 선언문보다 정의가 위에 있어도 정상 실행됨let과 const 선언은 스코프에 등록되지만, 초기화는 실행단계에서 이루어지기 떄문에 접근하면 TDZ에 의해 레퍼런스 에러가 발생한다 C에서 선언은 메인 위에 하고 정의를 아랫쪽에 적던 그런 느낌인것 같다.인터프리팅 / 컴파일링AST를 기반으로 바이트 코드 또는 최..