JavaScript был придуман Бренданом Эйхом (Brendan Eich) в 1995 году и стал стандартом ECMA в 1997 году. Официальное название стандарта — ECMA. А официальное названия языка — ECMAScript. С 2015 года версию языка ECMAScript называют по году (ECMAScript 2015).
Редакции ECMAScript
Версия | Официальное название | Описание |
---|---|---|
1 | ECMAScript 1 (1997) | Первая редакция. |
2 | ECMAScript 2 (1998) | Внесены редакционные правки. |
3 | ECMAScript 3 (1999) | Добавлены регулярные выражения. Добавлен оператор try/catch. |
4 | ECMAScript 4 | Никогда не выходил. |
5 | ECMAScript 5 (2009) | Добавлен "строгий режим". Добавлена поддержка JSON. Добавлен String.trim(). Добавлен Array.isArray(). Добавлены методы обхода элементов массива. |
5.1 | ECMAScript 5.1 (2011) | Внесены редакционные правки. |
6 | ECMAScript 2015 | Добавлены ключевые слова let и const. Добавлены значения параметров по умолчанию. Добавлен Array.find(). Добавлен Array.findIndex(). |
7 | ECMAScript 2016 | Добавлен оператор возведения в степень (**). Добавлен Array.prototype.includes. |
8 | ECMAScript 2017 | Добавлен "паддинг" строки (дополнение до нужной длины). Добавлены новые свойства объекта Object. Добавлены асинхронные функции. Добавлены разделяемая память и атомарные операции. |
9 | ECMAScript 2018 | Добавлены свойства rest / spread. Добавлены асинхронные итерации. Добавлен Promise.finally(). Добавления в объект RegExp. |
ECMAScript часто сокращается до ES.
Поддержка браузерами
ECMAScript 3 полностью поддерживается всеми браузерами.
ECMAScript 5 поддерживается всеми современными браузерами.
Поддержка браузерами ES5 (2009)
Браузер | Версия | Начиная с |
---|---|---|
Chrome | 23 | сентябрь 2012 |
Firefox | 21 | апрель 2013 |
IE | 9* | март 2011 |
IE / Edge | 10 | сентябрь 2012 |
Safari | 6 | июль 2012 |
Opera | 15 | июль 2013 |
* Internet Explorer 9 не поддерживает директиву ECMAScript 5 "use strict".
Поддержка браузерами ES6 (2015)
Браузер | Версия | Начиная с |
---|---|---|
Chrome | 58 | апрель 2017 |
Firefox | 54 | июнь 2017 |
Edge | 14 | август 2016 |
Safari | 10 | сентябрь 2016 |
Opera | 55 | август 2017 |
Internet Explorer не поддерживает ECMAScript 2015.
Поддержка браузерами ES7 (2016)
Браузер | Версия | Начиная с |
---|---|---|
Chrome | 68 | май 2018 |
Opera | 47 | июль 2018 |
JavaScript / ECMAScript
JavaScript был разработан для Netscape. Первым браузером, поддерживающим JavaScript, стал вышедший в 1996 году браузер Netscape 2. После Netscape компания Mozilla foundation продолжила разработку JavaScript для своих браузеров Firefox. Последняя версия JavaScript это 1.8.5 (идентична ECMAScript 5).
ECMAScript был разработан Ecma International после адаптации JavaScript. Первая редакция ECMAScript вышла в 1997 году.
Следующая таблица показывает, как соотносятся номера версий этих продуктов:
Год | JavaScript | ECMA | Браузер |
---|---|---|---|
1996 | 1.0 | Netscape 2 | |
1997 | ECMAScript 1 | IE 4 | |
1998 | 1.3 | Netscape 4 | |
1999 | ECMAScript 2 | IE 5 | |
2000 | ECMAScript 3 | IE 5.5 | |
2000 | 1.5 | Netscape 6 | |
2000 | 1.5 | Firefox 1 | |
2011 | ECMAScript 5 | IE 9 (за исключением "use strict") | |
2011 | 1.8.5 | Firefox 4 (за исключением начальных нулей в parseInt) | |
2012 | IE 10 | ||
2012 | Chrome 23 | ||
2012 | Safari 6 | ||
2013 | Firefox 21 | ||
2013 | Opera 15 | ||
2015 | ECMAScript 2015 | Частично поддерживается всеми браузерами |
Internet Explorer 4 и Netscape 4.06 были первыми браузерами, которые стали поддерживать ECMAScript 1.
Internet Explorer 5 был первым браузером, который стал поддерживать ECMAScript 2.
Internet Explorer 5.5 и Netscape 6 были первыми браузерами, которые стали поддерживать ECMAScript 3.
Internet Explorer 9 и Firefox 3.5 были первыми браузерами, которые стали поддерживать ECMAScript 5. При этом IE 9 не поддерживает директиву ECMAScript 5 "use strict".
Chrome 23, IE 10 и Safari 6 были первыми браузерами с полной поддержкой ECMAScript 5.