본문 바로가기
Front-End/javascript

자바스크립트 엔진 (Javascript Engine)

by 김기. 2023. 4. 11.

자바스크립트를 공부하기 전에 먼저 자바스크립트가 브라우저에서

작동하는 원리에 대해서 간단하게 알아보겠습니다.

 

1. 자바스크립트 엔진이란?

자바스크립트 엔진은 브라우저에 내장되어 자바스크립트를 읽고

컴퓨터가 읽을 수 있는 기계어로 변환합니다.

 

엔진의 종류는 다양하게 있는데 그중 대표적으로 구글의 V8이 있습니다.
V8은 구글에서 만든 엔진으로 C++로 개발하였고 Node JS 런타임,

Chrome 브라우저에서 사용합니다.

 

2. 자바스크립트 엔진 구조

자바스크립트의 엔진 구조

 

자바스크립트 엔진은 Memory Heap, Call Stack으로 구성합니다.


Memory Heap에는 객체나 배열, 함수... 와 같이 참조 타입을 저장하고,
Call Stack은 원시 타입 값과 실행 컨텍스트(Execution Context)가 저장됩니다.

자바스크립트는 한 번에 하나씩 작업을 처리하는 언어로,

이는 하나의 Call Stack을 가졌다는 의미입니다. (Single Thread 언어)


3. 동기, 비동기 처리

자바스크립트는 Web APIs와 분담하여 비동기 처리 방식으로 작업합니다.

 

동기 처리는 요청을 보내고 응답을 받은 뒤 다음 동작이 실행되고,
비동기 처리는 요청을 보내고 응답과 관계없이 다음 동작을 실행합니다.

 

ex) 동기 처리 = 은행 / 비동기 처리 = 카페

댓글