ECMAScript와 자바스크립트의 관계: 엔진과 런타임의 역할

자바스크립트 엔진과 런타임의 차이에 대한 아티클을 많이들 읽어보셨을텐데요. 개인적으로 이해하기 쉽게 정리해보았습니다.


ECMAScript란?

자바스크립트 표준 사양 입니다. 언어의 기본 구조와 기능을 규정합니다. 자바스크립트 엔진은 이 ECMAScript 명세를 따라서 기능을 정의합니다. Object, Array 등 변수, 함수 같은 기본적인 언어 기능을 제공합니다.


자바스크립트 엔진이란?

크롬에서 쓰이는 V8 같은 자바스크립트 엔진은 'ECMAScript 엔진' 이라고 보는 것이 더 정확합니다. 이유는 ECMAScript 표준을 구현하고, DOM API는 포함하지 않기 때문입니다.

사실 자바스크립트는 브라우저 및 서버 API도 호출할 수 있는 좀 더 광범위한 개념입니다.


자바스크립트 런타임이란?

V8 같은 ECMAScript 엔진을 내장하고 추가적인 API(DOM, Node.js 파일시스템) 실행 환경을 제공하는 웹브라우저, 서버사이드(Node.js) 같은 소프트웨어 입니다. 각각의 런타임은 해당 환경에 특화된 API를 추가로 제공합니다.


자바스크립트란?

자바스크립트는 프로그래밍 언어이면서 동시에 ECMAScript의 상위 집합입니다. 이는 자바크립트가 ECMAScript의 모든 기능을 포함하면서도, 런타임 환경에서 추가적인 기능과 API를 제공한다는 의미 입니다.


이런 구조 덕분에 자바스크립트 엔진은 순수하고 이식 가능한 상태를 유지합니다. 또한 다양한 환경 (브라우저, 서버)에서 사용될 수 있으며 자바스크립트 언어 기능과 각 환경에 맞는 추가 API를 활용할 수 있는 유연성을 가지게 됩니다.


https://ktseo41.github.io/blog/fe-article/javascript-engines-runtimes.html


자바스크립트 엔진과 런타임의 차이점은 무엇인가요? | bohyeon.dev

ktseo41.github.io

자바스크립트 엔진과 런타임의 차이점은 무엇인가요? | bohyeon.dev

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 8월 20일 오전 1:09

 • 

저장 20조회 2,367

댓글 0