[JS] JavaScript Engine

자바스크립트 엔진

 

자비스크립트 작성하고 해석해서 실행하는 것으로 자바스크립트 코드를 실행하는 프로그램 또는 인터프리터다.

자바스크립트 코드를 한줄씩 읽어가며 컴퓨터가 알아들을 수 있는 기계어로 번역하는 것이다.

* 프로그램: 특정 작업을 수행하는 명령어들의 집합

* 인터프리터: 코드를 한줄씩 내려가며 명령어 처리

 


자바스크립트 엔진 원리

 

엔진은 메모리 힙과 호출 스택으로 구성되어 있다.

호출 스택을 사용하여 실행 중인 코드의 흐름을 알 수 있다.

 

메모리 힙

- 동적으로 할당된 메모리가 저장되는 공간

- 객체, 함수, 배열 등이 할당

- 메모리는 자동으로 관리

 

호출 스택

- 함수 호출 관련 정보를 저장하는 공간

- 함수 호출 => 호출 스택에 추가 => 함수 실행 완료 => 호출 스택에서 제거

 


자바스크립트 엔진의 종류

 

  • V8 : 오픈소스로 구글에서 개발 / C++로 개발 / 구글 크롬과 Node.js에서 사용
  • SpiderMonkey : 최초의 자바스크립트 엔진 / 넷스케이프에서 개발 / 모질라 파이어폭스에서 사용
  • JavaScriptCore: 오픈소스 / 사파리에서 사용
  • Chakra(JavaScript) : 마이크로소프트 엣지용
  • Chakra(Jscript9) : 인터넷 익스플로러용
  • Rhino : 모질라 재단에서 운영 / 오픈소스 / 자바로 개발
  • Nashron : 오픈소스 / racle Java Languages and Tool Group이 개발
  • JerryScript : 사물인터넷을 위한 경량 엔진

'Front-End > JavaScript' 카테고리의 다른 글

[JS] ResizeObserver  (0) 2024.12.09
[JS] Web Worker  (0) 2024.11.18
[JS] var, let, const  (0) 2024.02.22
[JS] ECMAScript  (0) 2023.10.17
[JS] JavaScript  (1) 2023.05.31