자바스크립트가 실행될 수 있는 환경을 의미한다.
ex) 웹 브라우저, node.js
웹 브라우저에서 자바스크립트 런타임
: V8(JS Engine) + WebAPI
nodejs에서 자바스크립트 런타임
: V8(JS Engine) + libuv
자바스크립트 런타임의 특징
1) 자바스크립트는 코드가 실행되는 메인 스레드가 하나이다.(= 싱글스레드)
2) 메인 스레드가 싱글 스레드인 대신 비동기 작업을 수행하는 background worker 스레드를 지원한다.
3) webapi는 dom, fetch등 브라우저에서 필요한 기능을 제공하고, libuv는 os, fs 등에 접근 가능한 기능을 제공한다.