구글이 만든 오픈 소스 자바스크립트﹒웹어셈블리 엔진으로, 자바스크립트 코드를 실행 전에 최적화된 머신 코드로 컴파일하는 엔진이다. (즉, V8은 자바스크립트 코드를 받아 컴파일하고 실행하는 C++ 프로그램이다.) 크롬 브라우저와 노드 js에서 사용된다.
C++로 쓰여졌고 크롬과 Nodejs에서 쓰인다.
ECMAScript를 따른다. (ECMA-262)
V8 엔진은 혼자 동작할 수 있고 프로그래머가 C++ 프로그램을 만들어서 돌릴 수도 있다. 예를 들어 원래 Node.js에서 print 함수는 유효하지 않지만, C++의 print 함수를 V8 엔진 위에 얹으면 노드에서 print 함수를 native하게 돌아가게 할 수 있다. C++은 자바스크립트에 비해 하드드라이브의 파일이나 폴더를 다루는 기능이 뛰어난데, 이런 기능들을 V8 엔진을 이용하면 자바스크립트에 심을 수도 있다는 것이다.
자바스크립트 코드를 컴파일하고 실행한다
콜스택을 핸들링해서 자바스크립트 함수를 특정 순서에 따라 실행한다
메모리 힙에 객체들의 메모리 할당을 관리한다
더 이상 쓰이지 않는 객체들을 가비지 콜렉팅한다
모든 데이터 타입, 연산자, 객체, 함수를 제공한다
이벤트 루프를 제공한다(가끔 브라우저에 의해 제공되기도 한다)