JavaScript был изобретен Бренданом Эйхом в 1995 году. стал стандартом ECMA в 1997 году.
ECMAScript — официальное название языка.
Версии ECMAScript сокращены до ES1, ES2, ES3, ES5 и ES6.
С 2016 года версии именуются по годам (ECMAScript 2016, 2017, 2018, 2019, 2020).
| Ver | Official Name | Description |
|---|---|---|
| ES1 | ECMAScript 1 (1997) | First edition |
| ES2 | ECMAScript 2 (1998) | Editorial changes |
| ES3 | ECMAScript 3 (1999) | Added regular expressions Added try/catch Added switch Added do-while |
| ES4 | ECMAScript 4 | Never released |
| ES5 | ECMAScript 5 (2009) Read More |
Added "strict mode" Added JSON support Added String.trim() Added Array.isArray() Added Array iteration methods Allows trailing commas for object literals |
| ES6 | ECMAScript 2015 Read More |
Added let and const Added default parameter values Added Array.find() Added Array.findIndex() |
| ECMAScript 2016 Read More |
Added exponential operator (**) Added Array.includes() |
|
| ECMAScript 2017 Read More | Added string padding Added Object.entries() Added Object.values() Added async functions Added shared memory Allows trailing commas for function parameters |
|
| ECMAScript 2018 Read More |
Added rest / spread properties Added asynchronous iteration Added Promise.finally() Additions to RegExp |
|
| ECMAScript 2019 Read More |
String.trimStart() String.trimEnd() Array.flat() Object.fromEntries Optional catch binding |
|
| ECMAScript 2020 Read More |
The Nullish Coalescing Operator (??) |
В этом руководстве рассматриваются все версии JavaScript:
Оригинальный JavaScript ES1 ES2 ES3 (1997-1999 гг.)
Первая основная редакция ES5 (2009 г.)
Вторая редакция ES6 (2015 г.)
Ежегодные дополнения (2016, 2017, 2018, 2019, 2020)
ECMAScript 1-6 полностью поддерживается всеми современными браузерами.
| Browser | Version | From Date |
|---|---|---|
| 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».
| Browser | Version | Date |
|---|---|---|
| Chrome | 51 | May 2016 |
| Firefox | 52 | Mar 2017 |
| Edge | 14 | Aug 2016 |
| Safari | 10 | Sep 2016 |
| Opera | 38 | Jun 2016 |
Internet Explorer не поддерживает ECMAScript 2015.
| Browser | Version | Date |
|---|---|---|
| Chrome | 52 | Jul 2016 |
| Firefox | 54 | Jun 2017 |
| Edge | 14 | Aug 2016 |
| Safari | 10.1 | Mar 2017 |
| Opera | 39 | Aug 2016 |