Встречается на собеседованиях • сегодня

В чем разница между ES и CommonJS модулями

ES модули (ESM) и CommonJS (CJS) — это системы модулей в JavaScript. Основные различия:

  1. Синтаксис

    • ESM: import/export
    • CJS: require/module.exports
  2. Загрузка

    • ESM статически анализируется до выполнения кода (топ-левел импорты).
    • CJS загружается динамически во время выполнения.
  1. Совместимость

    • ESM — нативный стандарт (поддержка в браузерах и Node.js).
    • CJS — legacy, используется в Node.js.
  2. Примеры

    javascript
    // ESM
    import { func } from './module.js';
    export const value = 42;
    
    // CJS
    const { func } = require('./module');
    module.exports = { value: 42 };
  3. Особенности

    • В ESM this === undefined в модульной области, в CJS — ссылка на module.exports.
    • ESM поддерживает асинхронные импорты (import()).

Для Node.js лучше использовать ESM (.mjs или "type": "module" в package.json).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы