В чем разница между браузером JavaScript и Node.js

«В чем разница между браузером JavaScript и Node.js» — вопрос из категории JavaScript, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Браузерный JavaScript работает в среде браузера, имеет доступ к DOM, BOM и Web API (localStorage, fetch и т.д.). Node.js — это среда выполнения JS вне браузера, на сервере, с доступом к файловой системе, процессам и другим серверным возможностям.

Пример различий:

// Браузер
document.querySelector('button').addEventListener('click', () => {
  localStorage.setItem('key', 'value');
});

// Node.js
const fs = require('fs');
fs.writeFileSync('file.txt', 'Hello Node!');

Основные отличия:

  • Node.js использует модули CommonJS (require), браузеры — ES Modules (import)
  • В Node.js нет DOM, но есть глобальные объекты типа process
  • Node.js поддерживает потоковую обработку данных
  • В браузере JS выполняется в песочнице с ограниченным доступом