20 мая 2019

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

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

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

Все это относится к описанию стандарта, который называется 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 и его стандартов смотрите табличку ниже

Издание Официальное название Дата публикации
ES8 ES2017 июнь 2017
ES7 ES2016 июнь 2016
ES6 ES2015 июнь 2015
ES5.1 ES5.1 июнь 2011
ES5 ES5 декабрь 2009
ES4 ES4 отменен
ES3 ES3 декабрь 1999
ES2 ES2 июнь 1998
ES1 ES1 июнь 1997

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