[JS] V8엔진에 대해 ARABOZA.

Dtrip·2022년 6월 4일
0
post-custom-banner

V8 엔진이란?

구글이 만든 오픈 소스 자바스크립트﹒웹어셈블리 엔진으로, 자바스크립트 코드를 실행 전에 최적화된 머신 코드로 컴파일하는 엔진이다. (즉, V8은 자바스크립트 코드를 받아 컴파일하고 실행하는 C++ 프로그램이다.) 크롬 브라우저와 노드 js에서 사용된다.

V8 엔진의 특징

C++로 쓰여졌고 크롬과 Nodejs에서 쓰인다.

ECMAScript를 따른다. (ECMA-262)

V8 엔진은 혼자 동작할 수 있고 프로그래머가 C++ 프로그램을 만들어서 돌릴 수도 있다. 예를 들어 원래 Node.js에서 print 함수는 유효하지 않지만, C++의 print 함수를 V8 엔진 위에 얹으면 노드에서 print 함수를 native하게 돌아가게 할 수 있다. C++은 자바스크립트에 비해 하드드라이브의 파일이나 폴더를 다루는 기능이 뛰어난데, 이런 기능들을 V8 엔진을 이용하면 자바스크립트에 심을 수도 있다는 것이다.

V8이 하는 일

자바스크립트 코드를 컴파일하고 실행한다
콜스택을 핸들링해서 자바스크립트 함수를 특정 순서에 따라 실행한다
메모리 힙에 객체들의 메모리 할당을 관리한다
더 이상 쓰이지 않는 객체들을 가비지 콜렉팅한다
모든 데이터 타입, 연산자, 객체, 함수를 제공한다
이벤트 루프를 제공한다(가끔 브라우저에 의해 제공되기도 한다)

profile
Devtrip
post-custom-banner

0개의 댓글