ECMAScript и JavaScript — одно и то же? История ES и важнейшие изменения.

0
1567
views

ECMAScript не то же самое, что JavaScript

Современная веб-разработка стоит на трех китах: HTML, CSS и JavaScript. Изучение последнего может быть весьма непростым и запутанным, но не стоит путаться хотя бы в аббревиатурах. А их вы увидите немало….

ECMAScript — это стандарт.

Сначала появился JavaScript. Затем Netscape представил его на рассмотрение в ECMA International, международную организацию, которая занимается стандартизацией инфрматизационных технологий. В результате получился стандарт языка, известный как ECMAScript.

JavaScrip является реализацией этого стандарта, причем не единственной, есть и другие, например, ActionScript или SpiderMonkey.

Что означают аббревиатуры «ES»?

«ES» – это сокращение от «ECMAScript». Изначально номера версий стандарта обозначались цифрами, прибавляемыми к «ES». Первые три релиза выходили ежегодно (1997-99гг.), это ES1, ES2 и ES3. Четвертый выпуск не состоялся «в связи с политическими расхождениями, касающимися запутанности языка». Следующая версия, ES5, увидела свет почти десять лет спустя, в декабре 2009 года.

Начиная с шестой версии было решено возобновить ежегодный выпуск релизов, а вместо порядкового номера добавлять год издания. Таким образом, в 2015 году вышла не ES6, а ES2015. В течение последующих двух лет вышли ES2016 и ES2017.

Если вам встретится термин ES.Next, знайте, что он означает просто следующую версию, выпуск которой ожидается.

Отличия версий

Чем отличаются релизы стандарта? Рассмотрим это на примере ES5 (его выход дольше всех затянулся по времени), и трех последних.

Итак, в пятой версии…

  • Появилась поддержка строгого режима для выполнения функций в строгом контексте. Strict mode отбрасывает больше исключений при опасных действиях (вроде доступа к глобальному объекту) и отключает неоднозначные возможности ECMAScript.
  • ES5 начала поддерживать native JSON.
  • Стандартная библиотека обогатилась новым функционалом.
  • Стало допустимым ставить запятые в конце массива.
  • Для ключей свойств разрешено использование зарезервированных слов.

Чем запомнилась ES2015 («ECMAScript Harmony»)?

  • Начиная с этой версии стало возможным использование обратных кавычек для объявления строк.
  • Объявление переменных стало разнообразнее: к var присоединились идентификаторы let и const, обладающие блочной областью видимости.
  • Увеличилась стандартная библиотека, обогатившись методами String.repeat() и String.includes() .
  • Благодаря шаблонным итералам стало возможным использовать для строк специальные символы, а также упростилась конкатенация строк и значений.
  • Деструктуризация позволила удобно извлекать значения из массивов и объектов, помещая их в переменные.

В седьмой версии (2016 год) было три важных изменения.

  • Математический оператор для возведения в степень — две «звездочки». Например, «6**2» означает «шесть во второй степени». Раньше для этого использовался метод Math.pow().
  • Еще один метод массивов — Array.prototype.includes(), являющийся логичным продолжением метода String.prototype.includes(), добавленного в ES2015. Ввести оба сразу в 2015 году не получилось.
  • В ES5, как было упомянуто, было разрешено использование «strict mode». Со временем язык усложнился, но еще ES2015 разрешал использовать директиву «use strict» как в глобальной, так и в функциональной области видимости. В 2016 году стандарт ограничил использование этой директивы внутри функции.

Что нового в новейшей на сегодняшний день, восьмой версии стандарта ECMAScript?

  • Используя новые методы в объекте String — padStart() и padEnd() — можно дополнить длину строки до желаемого значения.
  • Лишние запятые в параметрах функции больше не приводят к ошибке.
  • Появилась официальная поддержка асинхронных функций.
  • Метод getOwnPropertyDescriptors(), возвращает все дескрипторы свойств нужного объекта (те, что указаны у него прямо, а не унаследованы).
  • Добавлен объект Atomics – статистические методы.

Итого, всего на данный момент вышло восемь релизов стандарта ECMAScript. Выходят они каждый год (чтобы сократить количество изменений на одну версию); дата отображается в названии выпуска. Каждая новая версия содержит новшества, которые стоит отслеживать и применять.


javascript logo

Хочешь проверить свои знания по JS?

Подпишись на наш канал с тестами по JS в Telegram!

×

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here