PassFront
  1. PassFront
  2. База знаний
  3. Современный JS ES6+

Зачем нужны модули?

Современный JS ES6+

Модули нужны, чтобы разбивать код на изолированные переиспользуемые части с явными зависимостями — это упрощает организацию, поддержку и предотвращает конфликты в глобальной области.

Зачем нужны

  • Инкапсуляция — каждый модуль имеет свою область видимости; переменные не попадают в глобальную (нет конфликтов имён).
  • Переиспользование — экспортируешь функцию/класс и импортируешь где нужно.
  • Явные зависимости — из импортов видно, что от чего зависит.
  • Организация — код разбит на логические файлы.
  • Оптимизация — tree shaking убирает неиспользуемые экспорты.

ES Modules (стандарт)

// utils.js
export function sum(a, b) { return a + b; }
export default class Calculator {}

// app.js
import Calculator, { sum } from './utils.js';
  • export / import — статические (анализируются при сборке).
  • import() — динамический импорт (ленивая загрузка).

Форматы модулей

  • ES Modules (ESM) — современный стандарт (import/export).
  • CommonJS — Node.js (require/module.exports).
  • AMD/UMD — старые браузерные форматы.

До модулей

Использовали глобальные переменные и IIFE для изоляции — модули решили это на уровне языка.

Коротко для собеседования

Модули разбивают код на изолированные переиспользуемые части со своей областью видимости и явными зависимостями (import/export). Дают инкапсуляцию (нет глобальных конфликтов), переиспользование, tree shaking и ленивую загрузку. Стандарт — ES Modules; в Node также CommonJS.

Другие вопросы раздела