ECMAScript, версии и как читать MDN
JavaScript развивается по общему стандарту – ECMAScript. Он описывает правила языка: какой у него синтаксис, какие существуют типы данных, операторы, встроенные объекты и другие возможности. Благодаря общему стандарту JavaScript-код ведёт себя предсказуемо в разных средах.
Поэтому JavaScript и ECMAScript часто встречаются рядом. JavaScript – название языка, ECMAScript – стандарт, который описывает его устройство.
Версии: почему ES6 – это ES2015
Раньше версии ECMAScript выходили нерегулярно. Самая известная – ES6, вышедшая в 2015 году, поэтому её второе название – ES2015. После неё стандарт стал обновляться ежегодно: ES2016, ES2017, ES2018 и так далее.
Если в статье или вакансии встретите «ES6+» – обычно речь просто о современном JavaScript. Запоминать историю всех версий не нужно.
Стандарт – ещё не поддержка
Если возможность появилась в ECMAScript – она стала частью языка. Но браузеры и другие среды обновляются не одновременно, поэтому новую возможность какое-то время могут поддерживать не все. Что будет, если её всё-таки использовать? В браузере, который её ещё не знает, код упадёт с ошибкой.
Так было, например, с методом массивов at(): Chrome и Firefox поддержали его летом 2021 года, а Safari – только весной 2022-го. Почти год одна и та же строка работала у одних пользователей и ломала программу у пользователей Safari.
Поэтому для новых возможностей полезно проверять реальную поддержку – например, на MDN. А значит, пора познакомиться с главным справочником.
По ходу курса вам встретятся вещи, которые захочется разобрать глубже, а что-то в курс вообще не вошло – и рано или поздно попадётся в чужом коде. Для этого и существует MDN Web Docs – справочник по JavaScript и веб-технологиям, где можно посмотреть, как что работает и что делает: developer.mozilla.org.
Никто не помнит все методы наизусть – рабочая привычка выглядит так: не помню → знаю, где посмотреть. Заложить её стоит с первого дня.
Страницу справочника достаточно читать по четырём зонам: что это делает, как записывается, пример, можно ли использовать.
Откройте страницу console.log на MDN и найдите эти четыре зоны сами – метод вам уже знаком.
// теперь вы знаете
- ECMAScript – стандарт, описывающий устройство JavaScript
- ES6 = ES2015; после него стандарт выходит ежегодно
- Попадание в стандарт – ещё не поддержка во всех средах
- MDN отвечает: что делает, как записывается, можно ли использовать
Как соотносятся JavaScript и ECMAScript?
В каком году вышел стандарт, известный как ES6?
Возможность вошла в свежий стандарт ECMAScript. Значит ли это, что она уже работает во всех браузерах?