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

 • 

저장 21조회 2,394

댓글 0

    함께 읽은 게시물




    나는 종종 생산성을 올리기 위한 각종 개발 툴은 물론, 라이브러리나 소스 코드를 구매하기도 한다.


    소스 코드의 경우 실제로 써먹지 못하는 경우도 상당수 되긴 하지만, 그래도 구성이나 코드를 보면서 배우는게 있기 때문에 학습 비용이라고 생각하고 가끔 구매하는 편이다.


    ... 더 보기

    [직장인을 위한 이솝우화] 제우스, 프로메테우스, 아테네, 모모스

    "

    ... 더 보기

    제우스, 프로메테우스, 아테네, 모모스

    Brunch Story

    제우스, 프로메테우스, 아테네, 모모스