ES6 versionsThere are ten editions of ECMA-262 published. The work on version 10 was finalized in June 2019. The ten editions of ECMA-262 are listed as follows:
During June 2004, ECMA International published the ECMA-357 standard for defining an extension to ECMAScript, which is known as ECMAScript for XML. Let us try to elaborate on the versions of ECMAScript. 4th Edition (abandoned)This fourth edition of ECMA-262 (ECMAScript 4 or ES4) was the first update to ECMAScript since the third edition was published in 1999. This specification was targeted to completion by October 2008. By August 2008, the fourth edition of ECMAScript had been scaled back into the project code-named ECMAScript Harmony. Features within the discussion for the harmony at the time included the classes, destructing assignment, a module system, optional type annotations, and static typing, etc. In addition, to add new features, some of the ES3 bugs were planned to be fixed in Edition 4. These fixes and others, and also the support for the JSON encoding/decoding, were folded within the ECMAScript fifth edition specification. In late 2007, a debate between Eich (later the CTO of Mozilla Foundation) and Chris Wilson (Microsoft's platform architect for the Internet explorer) became public on many blogs. This fourth edition was abandoned because of the political differences concerning language complexity. Several features proposed for this edition have been dropped completely. 5th EditionYahoo, Microsoft, Google, and other objectors of the fourth edition were formed their subcommittee for designing a less ambitious update of ECMAScript 3 named ECMAScript 3.1. This edition will focus on the library and security updates, with a large emphasis on compatibility. After the public debate, the ECMAScript 3.1 and ECMAScript 4 teams get agreed on a compromise. After some time, Brendan Eich announced that the ECMA TC39 would focus on the work of ECMAScript 3.1 (later ECMAScript, fifth edition) along with the complete collaboration of all parties, and vendors will target minimum two implementations by 2009. In April 2009, the ECMA TC39 has published the draft related to 5th edition and also announced that testing of the interoperable implementations could be completed by mid of July. But, on December 3, 2009, the fifth edition of ECMA-262 was published. 6th Edition - ECMAScript 2015Initially, this edition was termed as ECMAScript 6 or ES6 and then later renamed to ECMAScript 2015, which was finalized in June 2015. This update adds the new essential syntax for writing the complex applications, including the declarations of classes such as (class Example { ... }), ES6 modules like import * as moduleName from "..."; export const Example, but defines them in the same order as ECMAScript 5 strict mode. It also includes some other new features such as Python-style generators, let keyword for local declarations, arrow function expression, the const keyword for the constant variable declarations, binary data, typed arrays, new collections, reflection, number and math enhancements and many more. 7th Edition - ECMAScript 2016The 7th edition was officially known as ECMAScript 2016, which was finalized in June 2016. The standard language includes features such as block scoping of functions and variables, destructing the patterns of variables, proper tail calls, async/await keywords for asynchronous programming, exponentiation operator ** for numbers. 8th Edition - ECMAScript 2017The 8th edition was officially known as ECMAScript 2017, which was finalized in June 2017. It includes the async/await constructions which work using promises (In CS future, promise, deferred, and delay refers to the constructs which are used to synchronize the execution of the program in some concurrent programming languages) and generators. ECMAScript 2017 or the eight edition also includes the features of atomic and concurrency, syntactic integration with promises. 9th Edition - ECMAScript 2018The 9th edition was officially known as ECMAScript 2018, which was finalized in June 2018. It includes the new features like rest/spread operators for the variables (three dots: …identifier), asynchronous iteration, etc. 10th Edition - ECMAScript 2019The 10th edition was officially known as ECMAScript 2019, which was published in June 2019. It includes the addition of some new features like Array.prototype.flatMap, Array.prototype.flat, and changes to Array.sort and Object.fromEntries. ES.NextIt is nothing but a dynamic name that refers to the next version at the writing time. The harmony plans were too committed for the single version, which splits its features within the two groups: the first group had the highest priority and was to become the succeeding version after ES5. ECMAScript.next was the code name of that version, for avoiding the prematurely committing to a version number which already proved suspect with ES4. The second group had time until after ECMAScript.next. Next TopicES6 Environment setup |