Что такое Node.js: JavaScript вне браузера

Что такое Node.js, на чём он работает и зачем выносить JavaScript из браузера на сервер.

Node.js — это среда выполнения JavaScript вне браузера, построенная на движке V8 от Google Chrome. Она позволяет писать на JavaScript серверный код, утилиты и инструменты.

JavaScript раньше жил только в браузере

Долгое время JavaScript был языком исключительно браузера: он оживлял страницы, обрабатывал клики, менял DOM. Запустить JS-файл «просто так», как Python-скрипт, было нельзя — нужен был браузер с его окружением.

В 2009 году Райан Даль взял движок V8 (тот самый, что исполняет JavaScript в Chrome), добавил к нему доступ к файлам, сети и операционной системе — и получилась Node.js. Теперь один и тот же язык работает и на клиенте, и на сервере.

Что такое движок V8 и зачем он нужен

V8 — это программа, которая читает ваш JavaScript и превращает его в машинный код, понятный процессору. Он очень быстрый: компилирует код «на лету» (JIT-компиляция). Node.js берёт этот движок и оборачивает его в набор библиотек для работы с системой.

Проще говоря: V8 умеет считать JavaScript, а Node.js даёт ему руки — возможность читать файлы, отвечать на сетевые запросы, запускать процессы.

БраузерNode.js
есть window, document, DOMнет DOM, есть process, fs, http
работает со страницейработает с файлами и сетью
код пишет фронтендкод пишет бэкенд и утилиты

Где применяется Node.js

Node.js хорошо подходит для задач, где много операций ввода-вывода (запросы, файлы, сеть) и сравнительно мало тяжёлых вычислений:

  • Веб-серверы и REST API — самый частый сценарий (Express, NestJS, Fastify).
  • Инструменты разработчика — сборщики (Webpack, Vite), линтеры (ESLint), форматтеры (Prettier) написаны на Node.
  • Чаты и реальное время — WebSocket-сервера, онлайн-игры, уведомления.
  • Скрипты и автоматизация — обработка файлов, парсинг, миграции.

Один язык на весь стек

Главное практическое преимущество — единый язык. Команда может писать и фронтенд, и бэкенд на JavaScript, переиспользовать код (например, валидацию данных), и не переключаться между разными языками. Вокруг Node вырос огромный мир пакетов — реестр npm содержит более двух миллионов модулей.

Чистая JavaScript-логика работает в Node так же, как в браузере. Например, обычные операции с массивами:

const prices = [120, 80, 200, 50];
const total = prices.reduce((sum, p) => sum + p, 0);
console.log("Сумма заказа:", total);
console.log("Самый дорогой товар:", Math.max(...prices));

Вывод:

Сумма заказа: 450
Самый дорогой товар: 200

Этот код одинаково отработает и в браузере, и в Node — он не зависит ни от DOM, ни от файловой системы.

Итог

  • Node.js — это среда выполнения JavaScript вне браузера на движке V8.
  • V8 исполняет JS, а Node даёт доступ к файлам, сети и системе.
  • Применяется для серверов, API, инструментов разработки и автоматизации.
  • Один язык на клиенте и сервере + гигантская экосистема npm.
Проверьте себя
1. На каком движке построена Node.js?
ASpiderMonkey
BV8
CChakra
DJavaScriptCore
2. Что Node.js добавляет к движку V8?
AПоддержку TypeScript из коробки
BDOM и объект window
CДоступ к файлам, сети и операционной системе
DГрафический интерфейс
3. Для каких задач Node.js подходит лучше всего?
AТяжёлые математические вычисления на CPU
BОперации ввода-вывода: сеть, файлы, API
CРендеринг 3D-графики
DОбработка изображений на GPU
Поддержать проект