자바스크립트 엔진
자비스크립트 작성하고 해석해서 실행하는 것으로 자바스크립트 코드를 실행하는 프로그램 또는 인터프리터다.
자바스크립트 코드를 한줄씩 읽어가며 컴퓨터가 알아들을 수 있는 기계어로 번역하는 것이다.
* 프로그램: 특정 작업을 수행하는 명령어들의 집합
* 인터프리터: 코드를 한줄씩 내려가며 명령어 처리
자바스크립트 엔진 원리
엔진은 메모리 힙과 호출 스택으로 구성되어 있다.
호출 스택을 사용하여 실행 중인 코드의 흐름을 알 수 있다.
메모리 힙
- 동적으로 할당된 메모리가 저장되는 공간
- 객체, 함수, 배열 등이 할당
- 메모리는 자동으로 관리
호출 스택
- 함수 호출 관련 정보를 저장하는 공간
- 함수 호출 => 호출 스택에 추가 => 함수 실행 완료 => 호출 스택에서 제거
자바스크립트 엔진의 종류
- 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 |