ES5 ES6 и т.д. что это все за ху**я?

Читая статьи про Javascript новички(да и я собственно) часто сталкиваются аббревиатурами такими как эти:

  • ES3
  • ES5
  • ES6
  • ES7
  • ES8
  • ES2015
  • ES2016
  • ES2017
  • ECMAScript 2017
  • ECMAScript 2016
  • ECMAScript 2015

Что это все значит?

Все это относится к описанию стандарта, который называется ECMAScript

По сути, ECMAScript — это стандарт на котором базируется язык JavaScript, и часто для сокращения его обозначают как ES.

История стандартизации JavaScript

Дело в том что JavaScript был выпущен в компании NetScape Navigator в 1995 году, но его изначальное название было другим — LiveScript. Лишь через год, в попытках придать ему больший охват и популярность его переименовали в JavaScript, пытаясь сыграть популярном в то время языке Java.

в 1996 году NetScape попросил ECMA International стандартизировать JavaScript. Это привело к появлению официального стандарта ECMAScript.

С тех самых пор термин JavaScript применяется в контексте упоминания самого языка программирования, а ECMAScript — когда говорят о стандарте языка или версии этого стандарта.

До начала 21 века в 1999 году было выпущено 3 версии стандарта ECMAScript и затем на целое десятилетие все затихло…

ECMAScript 3 стала наиболее популярной версий JavaScript и именно ее традиционно использовали веб-разработчики по всему миру при создании сайтов.

Для разработчиков браузеров стандарт ECMAScript по сути является руководством: какие функции и конструкции языка должны поддерживаться и выполняться браузером

За десять лет после выхода третей версии стандарта была неудачная попытка выпуска 4 версии, и лишь в 2009 году комитет смог родить ECMAScript 5 — стандарт, который предусматривал новые/современные возможности JavaScript… Но браузеры не особо быстро отреагировали, а значительная доля пользователей браузера от MicroSoft — Internet Explorer тормозило внедрение и использование новых стандартов языка.

Новый JavaScript

Все стало меняться в 2012 году, разработчики стали в большинстве своем отказываться поддерживать Internet Explorer и писать код с учетом последних стандартов.

Одновременно, ECMA International подхватила активность, пересмотрев свой подход к стандартизации языка.

В результате в 2015 году был «рожден» новый стандарт получивший сокращенное название ES и согласно исторической последовательности версии присвоили 6 — в итоге получилось ES6

Также значительным прорывом стало то что комитет принял решение о ежегодном пересмотре и выпуске стандарта, в результате начиная с 2015 года мы каждый год получаем новый стандарт ECMAScript.

Для лучшего понимая исторической последовательности развития JavaScript и его стандартов смотрите табличку ниже

ИзданиеОфициальное названиеДата публикации
ES8ES2017июнь 2017
ES7ES2016June 2016
ES6ES2015June 2015
ES5.1ES5.1June 2011
ES5ES5December 2009
ES4ES4Abandoned
ES3ES3December 1999
ES2ES2June 1998
ES1ES1June 1997

На сегодняшний день наибольшей поддержкой в браузерах обладает версия ES6 (2015 год) однако наличие современного инструментария для разработки (транспайлеры JS) позволяет писать код разработчикам на той версии которая им больше подходит. Но об этом мы поговорим в следующих постах нашего блога.