Что такое среда выполнения

Ответ

Среда выполнения (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 имеет доступ к файлам, браузер — нет).