Что такое ECMAScript?

Об истории JavaScript

JavaScript (сокращенно JS) создан в 1995 г. в компании Netscape. По инициативе компании Netscape была проведена стандартизация языка ассоциацией ECMA, которая занимается стандартизацией информационных технологий. Так появился стандарт ECMAScript, сокращенно его называют ES. Стандарт описывается документом ECMA-262.

Отличие JavaScript от ECMAScript

ECMAScript это стандарт, а JavaScript его реализация. ECMAScript говорит как должно быть, а JavaScript выполняет то, что говорит ECMAScript.

Кроме JavaScript существуют другие реализации стандарта: SpiderMonkey, V8 и ActionScript. Стоит отметить, что реализация JavaScript может не соответствовать стандарту, в чём убедились сотни тысяч разработчиков при работе с Internet Explorer старых версий.

Версии ECMAScript

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

  • ES1 — 1997 год
  • ES2 — 1998 год
  • ES3 — 1999 год
  • ES5 — 2009 год
  • ES2015 — 2015 год
  • ES2016 — 2016 год
  • ES2017 — 2017 год

Стандарт ES4 не был принят. Широко встречаются стандарты ES6, ES7, ES8. Так аксакалы любят называть стандарты по старинке: ES2015 называют ES6, ES2016 - 7 и так далее.

ECMAscript выходит ежегодно; первые пакеты обновления назывались ES1, ES2, ES3, ES4, ES5; новые выпуски (начиная с 2015 года) получили название ES2015, ES2016, ES2017 (аббревиатура ES + год выпуска); ECMAScript является стандартом, а JavaScript — это самая популярная реализация этого стандарта. Среди других реализаций можно отметить SpiderMonkey, V8 и ActionScript.


По мотивам JavaScript — WTF is ES6, ES8, ES 2017, ECMAScript… ?

Похожие записи

JS. Get query param

function getQueryParam(item) {
  var svalue = window.location.search.match(new RegExp('[\?\&]' + item + '=([^\&]*)(\&?)', 'i'));
  return svalue ? svalue[1] : svalue;
}

// /foo/bar/baz.html?lang=ru
var lang = getQueryParam('lang') || 'en';