JavaScript versions

In the early days of the Web, as the browser wars between Netscape and Microsoft heated up, Ecma International, formerly the European Computer Manufacturers Association (ECMA), agreed to take on JavaScript as a standard. Because of Sun’s ownership of the JavaScript name, ECMA adopted ECMAScript as the official name. However, virtually everyone uses JavaScript.

As of today there are 10 editions of JavaScript. We have stated major enhancements here.

  • June 1997: First Edition
  • June 1998: Editorial changes to align with ISO/IEC 16262 standard.
  • December 1999: Added regular expressions, new control statements, try/catch exception handling and other enhancements.
  • Fourth Edition was abandoned.
  • December 2009: “strict mode” added. Added getters and setters, library support for JSON.
  • June 2011: This edition 5.1 of the ECMAScript standard is fully aligned with third edition of the international standard ISO/IEC 16262:2011.
  • June 2015: The 6th edition, initially known as ECMAScript 6 (ES6) then and later renamed to ECMAScript 2015. Added class declarations, ES6 modules, for…of loops, Python-style generators, arrow function expression, let keyword, const keyword, typed arrays, maps, sets and WeakMap, promises, proxies, template literal for strings.
  • June 2016: The 7th edition, officially known as ECMAScript 2016. Added block-scoping of variables and functions, destructuring patterns, exponentiation operator ** for numbers, await, async keywords for asynchronous programming.
  • June 2017: The 8th edition, officially known as ECMAScript 2017. Added features for concurrency and atomics, syntactic integration with promises.
  • June 2018: The 9th edition, officially known as ECMAScript 2018. Added rest/spread operators for variables (three dots: …identifier), asynchronous iteration, Promise.prototype.finally().
  • June 2019: The 10th edition, officially known as ECMAScript 2019.