In this article, I will dive into these details with a bit of history.
After a couple of years, Microsoft Internet Explorer took the language and came up with its own implementation Jscript.
EcmaScript had few releases between 1997-1999 (EcmaScript 3) and after that, for almost the next decade, nothing new released. At that time, Microsoft Internet Explorer was dominating the world but it was not doing much to improve the language and so Firefox and other array of browsers took birth and the focus came back to EcmaScript.
A true language of the future.
ECMA-262 is an official specification of the EcmaScript language. This has been maintained by ECMA International.
Ecma Technical Committee 39 (TC39)
Group of people who developed Ecma-262 including Eich and other.
Release History of EcmaScript
EcmaScript 1 and EcmaScript 2
First version of EcmaScript, i.e., EcmaScript 1 released in June 1997. It includes all the basic stuff like:
And many more.
Next release that came in June 1998 focused on standardizing the specification and making it fully aligned with ISO/IEC 16262 international standard.
In December 1999, a new version released as EcmaScript 3. This version was one of the biggest makeshifts as this is supported by all the browsers. The highlights are:
- Regular Expression
- Exception Handling (
- Tighter definition of Errors
EcmaScript 4 (Abandoned)
EcmaScript 4 was developed as the next version but TC39 failed to agree on the feature set. In the end, the committee agreed on the following four points:
1. Focus work on ES3.1 with full collaboration of all parties, and target two interoperable implementations by early next year.
2. Collaborate on the next step beyond ES3.1, which will include syntactic extensions but which will be more modest than ES4 in both semantic and syntactic innovation.
3. Some ES4 proposals have been deemed unsound for the Web, and are off the table for good: packages, namespaces and early binding. This conclusion is key to Harmony.
4. Other goals and ideas from ES4 are being rephrased to keep consensus in the committee; these include a notion of classes based on existing ES3 concepts combined with proposed ES3.1 extensions.
- Strict Mode
- Library support for JSON
- Various new methods on Array and objects like
- Getter and Setter on Object
EcmaScript 2015 (ES6)
A new edition released in June 2015 as ES6 or EcmaScrip 2015 with a very wide range of features, code standard and syntax. Although till now, most of the browsers don’t support many of these features. The highlights are:
- Moving towards class based OOP (Object Oriented Programming) from prototype based OOP with the inclusion on a new set of keywords and concepts like Class, Module, Static and getter/setter.
- Block scoping variable and functions
- Arrow Function
- Inclusion of Promise
- Internationalization and Localization
- Typed Array
- Reflection and proxies (MetaProgramming)
EcmaScript 2016 (ES7) (The Work In Progress)
The final feature set of ES7 (EcmaScript 2016) has been finalized recently and seems to be a minor release. New features are:
- Include function on Array
- Exponential Operator
EcmaScript 2017 (The Work In Progress)
EcmaScript 2017 is in the very early stage as the feature set too is not finalized yet. But after the ES6, the roadmap looks quite clear as the focus would be on object oriented programming, better Meta Programming, SIMD type and inclusion on various other functions on Array and object and asynchronous programming, etc.
Sources and Related Reading