В чём разница между модулями CommonJS и ES6?
Уровень: Middle
Ответ
CommonJS – система модулей, используемая, например, в Node.js. В ней модули загружаются синхронно и экспорты доступны через объект `module.exports`, а импорт через функцию `require("module")`. ES6-модули – стандарт в браузерах и Node (в современном варианте), поддерживают ключевые слова `export` и `import`. Импорты ES6-модулей работают асинхронно (в браузере можно загружать скрипты с type="module"), их синтаксис статический (что позволяет оптимизации, например, tree shaking). Кроме того, ES6-модули всегда выполняются в строгом режиме и имеют отдельную область видимости (переменные модуля не попадают в глобальную).