JavaScript Версии
JavaScript был изобретен Бренданом Эйхом в 1995 году и стал стандартом ECMA в 1997 году.
ECMAScript - официальное название языка.
Версии ECMAScript сокращены до ES1, ES2, ES3, ES5 и ES6.
С 2016 года новые версии именуются по годам (ECMAScript 2016/2017/2018).
Редакции ECMAScript
| Версия | Официальное название | Описание |
|---|---|---|
| ES1 | ECMAScript 1 (1997) | Первое издание |
| ES2 | ECMAScript 2 (1998) | Редакционные изменения |
| ES3 | ECMAScript 3 (1999) | Добавлены регулярные выражения Добавлен try/catch Добавлен switch Добавлен do-while |
| ES4 | ECMAScript 4 | Никогда не выпускался |
| ES5 | ECMAScript 5 (2009) Подробнее о ECMAScript 5 (2009) |
Добавлен "strict mode" Добавлена поддержка JSON Добавлен String.trim() Добавлен Array.isArray() Добавлены методы итерации массива Позволяет использовать конечные запятые для объектных литералов |
| ES6 | ECMAScript 2015 Подробнее о ECMAScript 2015 |
Добавлены let и const Добавлены значения параметров по умолчанию Добавлен Array.find() Добавлен Array.findIndex() |
| ECMAScript 2016 Подробнее о ECMAScript 2016 |
Добавлен экспоненциальный оператор (**) Добавлен Array.includes() |
|
| ECMAScript 2017 Подробнее о ECMAScript 2017 | Добавлен строковый отступ Добавлен Object.entries() Добавлен Object.values() Добавлены асинхронные функции Добавлена общая память |
Позволяет использовать конечные запятые для параметров функции
|
| ECMAScript 2018 Подробнее о ECMAScript 2018 |
Добавлены свойства rest / spread Добавлена асинхронная итерация Добавлен Promise.finally() Дополнения к RegExp |
В этом учебнике рассматриваются все версии JavaScript:
- Оригинальный JavaScript ES1 ES2 ES3 (1997–1999)
- Первая основная редакция ES5 (2009 г.)
- Вторая редакция ES6 (2015 г.)
- Ежегодные дополнения (2016, 2017, 2018)
Поддержка браузерами
ECMAScript 1-6 полностью поддерживается во всех современных браузерах.
Браузерная поддержка для ES5 (2009 г.)
| Браузер | Версия | Дата |
|---|---|---|
| Chrome | 23 | Nov 2012 |
| Firefox | 21 | May 2013 |
| IE | 9* | Mar 2011 |
| IE / Edge | 10 | Sep 2012 |
| Safari | 6 | Jul 2012 |
| Opera | 15 | Jul 2013 |
* Internet Explorer 9 не поддерживает ECMAScript 5 "use strict".
Браузерная поддержка ES6 (2015)
| Браузер | Версия | Дата |
|---|---|---|
| Chrome | 51 | May 2016 |
| Firefox | 52 | Mar 2017 |
| Edge | 14 | Aug 2016 |
| Safari | 10 | Sep 2016 |
| Opera | 38 | Jun 2016 |
Internet Explorer не поддерживает ECMAScript 2015.
Браузерная поддержка для ECMAScript 2016
| Браузер | Версия | Дата |
|---|---|---|
| Chrome | 52 | Jul 2016 |
| Firefox | 54 | Jun 2017 |
| Edge | 14 | Aug 2016 |
| Safari | 10.1 | Mar 2017 |
| Opera | 39 | Aug 2016 |

