Что такое Node.js и чем он отличается от JavaScript в браузере?
Основы Node.js
Node.js — среда выполнения JavaScript вне браузера, построенная на движке V8 и библиотеке libuv, которая даёт асинхронный ввод-вывод.
Что общего
- Тот же язык и тот же движок V8, то же событийное выполнение: один поток для JS-кода и очередь событий.
- Одинаковые Promise,
async/await, таймеры,fetch(в современных версиях).
Чем отличается
- Нет DOM,
windowиdocument. Вместо них глобальный объектglobalThisи модулиfs,http,path,os,crypto. - Есть доступ к файловой системе, сети и процессу:
process.argv,process.env,process.exit(). - Модули подключаются через
require(CommonJS) илиimport(ESM), а не через<script>. - Приложение живёт долго как процесс, поэтому важны утечки памяти, обработка сигналов и завершение.
import { readFile } from 'node:fs/promises';
const config = await readFile('./config.json', 'utf8');
console.log(JSON.parse(config).port, process.env.NODE_ENV);Коротко для собеседования
Node.js — это V8 плюс libuv плюс набор системных модулей. Язык тот же, окружение другое: нет DOM, зато есть файлы, сеть и процесс.