Если в коде или документации встречается пометка «ES6», «ES2015» или «ES-модуль», речь идёт о версии стандарта ECMAScript — формального описания языка, лежащего в основе JavaScript. Именно эта аббревиатура чаще всего скрывается за запросом «что такое ES», и путаница возникает из-за того, что одни и те же возможности языка называют то «ES6», то «ES2015», то просто «современный JavaScript».

Разобраться здесь важно не только начинающим разработчикам: от версии ES зависит, какие конструкции языка можно использовать в проекте, нужен ли транспилятор вроде Babel и будет ли код работать в старых браузерах. Ниже разберём, что такое ECMAScript, чем он отличается от JavaScript, какие версии существуют и как проверить их поддержку.

ES и ECMAScript: что скрывается за аббревиатурой

ECMAScript (сокращённо ES) — это официальный стандарт языка сценариев, который описывает синтаксис, типы данных, объекты и правила работы языка. Стандарт разрабатывается организацией Ecma International и публикуется в документе ECMA-262. Сам по себе ES — это не программа и не интерпретатор, а спецификация: текст, по которому создатели браузеров и движков реализуют язык.

JavaScript — самая известная реализация этого стандарта. Грубо говоря, ECMAScript определяет «как язык должен работать», а JavaScript — конкретное воплощение этих правил в движках вроде V8 (Chrome, Node.js), SpiderMonkey (Firefox) и JavaScriptCore (Safari). В повседневной речи разработчики часто смешивают термины, но в технических обсуждениях «ES» означает именно стандарт и его версии.

Важно понимать, что браузерный JavaScript включает больше, чем ECMAScript: работа с DOM, события, сетевые запросы описываются отдельными веб-стандартами. Поэтому, когда говорят «это поддерживается с ES6», речь идёт о ядре языка — синтаксисе и встроенных объектах, а не о браузерных API.

💡

ES — это стандарт языка (ECMA-262), а JavaScript — его практическая реализация в движках браузеров и Node.js.