자바스크립트는 브라우저 엔진마다 해석하는 방법이 조금씩 다르다.
그 예로, IE에서는 ES6이상의 문법이 적용되지 않는 것 등이 있다.
그 중 가장 대중적으로 사용되는 크롬 브라우저의 엔진인 V8엔진에 대해서 공부하려고 한다.
V8은 Javascript 소스 코드를 컴파일 하고 실행하며, 객체를 위한 메모리를 할당하기도 하고, 더 이상 쓰이지 않는 객체는 가비지 컬렉터를 수행한다.
가비지 컬렉터는 V8엔진 성능의 핵심중 하나이다.
Javascript는 일반적으로 브라우저에서 클라이언트 스크립팅에 쓰이며, DOM 조작에 사용된다. 그러나, DOM은 Javascript 엔진이 아니라 브라우저가 제공한다.
구글의 크롬도 DOM을 제공하며, V8엔진은 ECMA 표준에 지정된 모든 데이터 유형, 연산자, 개체 및 함수를 제공한다.
V8은 JIT를 사용하여 javascript 코드를 실행한다.
스크립트를 실행하기 직전에 파싱 및 컴파일을 수행해야 하므로 오버헤드가 발생할 여지가 높다.
코드 캐싱을 통해 이런 문제를 상당수 해결했다.