Javascript는 컴파일러 언어이다. 컴파일러 언어의 처리 과정에서 소스코드 실행 전 3단계를 거친다. 컴파일레이션 1. 토크나이징 / 렉싱 문자열을 나누어 토큰이라는 조각으로 만드는 과정 (빈칸은 의미가 있냐 없냐에 따라 토큰으로 남을 수 있다) 2. 파싱 토큰 배열을 프로그램의 문법 구조를 반영해 중첩원소를 갖는 원소를 갖는 트리 형태로 바꾸는 과정이다. (파실 결과로 만들어지는 것이 AST 추상 구문 트리 이다) 3️⃣. 코드 생성 AST를 컴퓨터에서 실행 코드로 바꾸는 과정이다. JS엔진은 파싱과 코드 생성 과정에서 불필요한 요소를 삭제하는 과정을 거쳐 실행시성능을 최적화한다. JS엔진이 기존 컴파일러와 다른 점은 JS컴파일레이션을 미리 수행하지 않아서 최적화할 시간이 많지는 않다. 어떤 JS..