Ответ
Среда выполнения (runtime environment) — это окружение, в котором выполняется код программы. Она предоставляет необходимые ресурсы, такие как память, API, обработчики событий и т.д.
Для JavaScript среда выполнения зависит от места исполнения:
- Браузер: движок (V8, SpiderMonkey) + Web API (DOM, Fetch, setTimeout).
- Node.js: тот же V8, но с другими API (файловая система, HTTP-сервер).
Пример:
console.log('Hello'); // В браузере и Node.js работает, но окружение разное
setTimeout(() => {}, 1000); // Web API в браузере vs libuv в Node.js
Ключевые различия:
- Доступные API (например,
document
есть только в браузере). - Модульные системы (ESM vs CommonJS).
- Безопасность (Node.js имеет доступ к файлам, браузер — нет).