Here’s a fun 2 minute history lesson to make sense of it all.
1995 — a guy named Brendan Eich was recruited by Netscape to make a language that could be run in the browser.
He ended up writing it in 10 days.
JScript has since been supported by the company through Internet Explorer up until 2011 with Internet Explorer 9.
They agreed on one condition — the language has to use their name.
At first Netscape wasn’t too keen on the name because it sounded too much like a skin disease.
A compromise was made by adding Script to the end of the name, resulting in ECMAScript — shorted to ES to avoid pronouncing ECMA.
The first edition came out in in June.
1998 — Macromedia Inc (now part of Adobe Systems) created something similar called ActionScript.
The last stable release was in 2006.
No one talks about ActionScript anymore since the death of Flash and is considered a dialect of ECMAScript.
ES1 (June 1997), ES2 (June 1998), ES3 (Dec 1999), ES4 (Abandoned) — are the first 4 editions of ECMAScript.
We don’t really need to know the details of these because programming seems to age in dog years and these versions can now be considered ancient.
ES 5 (December 2009) — ten years after politics resulted in the abandonment of ES4, ES5 was released.
ES6 / ES2015 (June 2015) — ES6 was the name popularized before release but came out under the name ES2015 to reflect the year it was released.
This means that ES6 and ES2015 are the same thing.
Officially its called ES2015 but most people know it as ES6.
Don’t worry, everything is backward compatible and new features such as asynchronous iteration and generators, regular expression features and rest/spread parameters have been added to make life easier.
June 2019? — flattening arrays through Array.
flat() and optional catch binding is currently on the table for ES2019.
There’s still 3-ish months away before the new features is available to us.
It still has nothing to do with Java, except for certain aspects like syntax and the name.
Design wise, it’s closer to Self and Scheme, which Brendan Eich initially tried to implement but got rejected because Netscape wanted something that looked cool like Java.