ES-модули в браузере
Встроенная поддержка JavaScript-модулей через <script type="module"> и import/export. Позволяет писать модульный код, работающий прямо в браузере без сборщика, — стандартная модульная система веба.
До ESM в вебе не было встроенных модулей: склеивали глобальные скрипты или пользовались сборщиками (webpack) и форматами вроде CommonJS. ES-модули (ES2015, широкая поддержка браузеров с ~2018 года) — стандарт. Особенности: всегда strict mode, по умолчанию defer, выполняются один раз сколько бы раз их ни импортировали, имеют собственную область видимости и требуют CORS для кросс-доменных импортов.
Вместе с import maps, динамическим импортом и top-level await это делает разработку без сборки практичной для небольших проектов. Для больших приложений сборщики всё ещё нужны (оптимизация, tree-shaking, старые браузеры), но платформа теперь умеет многое сама.