웹 (web)

자바스크립트 엔진과 런타임

syleemomo 2024. 4. 16. 22:20
728x90

https://www.jeong-min.com/49-js-runtime/

 

개발자 단민 | 자바스크립트 엔진: "어, 아직 싱글이야" | JS 런타임에 대해 알아보자

자바스크립트 엔진과 런타임에 대해 이야기하기 전에, 자바스크립트 자체가 무엇인지 이해하는 것도 중요하다! 자바스크립트는 웹 개발에서 가장 널리 사용되는 프로그래밍 언어 중 하나로, 웹

www.jeong-min.com

https://webduck.tistory.com/64

 

자바스크립트 런타임과 엔진 그리고 동작 원리

📌 TL;DR 자바스크립트 프로그래밍 => 자바스크립트 엔진과 웹 브라우저에서 제공하는 API 메소드로 프로그래밍을 하는 것이다. * 크롬 웹 브라우저는 V8 엔진이 탑제된 자바스크립트 런타임이다.

webduck.tistory.com

 

자바스크립트 엔진은 자바스크립트 코드를 해석하고 실행하는 해석기이다. 메모리힙과 콜스택으로 구성된다. 메모리힙은 객체, 배열, 함수와 같은 데이터가 저장되며, 가비지 컬렉션에 의해 관리된다. 콜스택은 함수가 호출될때마다 스택에 쌓이며, 함수실행이 종료되면 스택에서 제거된다. 

자바스크립트 런타임은 자바스크립트 엔진을 포함하는 실행환경이다. 대표적으로 브라우저, node.js, 리액트 네이티브 등이 있다.

자바스크립트 엔진은 싱글쓰레드로 동작하지만, 자바스크립트 런타임(브라우저나 node.js)은 멀티쓰레드로 동작한다. 자바스크립트 엔진은 하나의 콜스택을 가진 싱글쓰레드이지만, 이벤트루프를 통한 비동기작업의 처리가 가능하기 때문에 코드가 중간에 멈추지 않고, 논블로킹으로 동작하며 멀티쓰레드처럼 동작한다.

728x90