Is ES6 the latest Javascript Standard?
Updated: Aug 11, 2020
“Is ES6 the latest Javascript standard?” The answer is No. Some features which are generally considered to be part of ES6 standard are actually released in newer versions of ES standards.
The actual name for Javascript was changed to ECMAScript as Oracle owned the trademark for the name Javascript.
ECMAScript 5 (ES5) is considered the primary Javascript standard, it was released in 2009. All browsers were expected to provide support for ES5. Every major browser released after 2009 provided full support to ES5. The only exception to this is the usual suspect for bad browser implementation, Internet Explorer. IE only provided partial support.
The standard was originally planned to be frozen for 10 years and the next change was supposed to be released only in 2019. However, the next major change in the Javascript standard was released in 2015. It was named ECMAScript 2015. However, the community refers to it as ES6.
ES6 came with lots of new features, which made Javascript more powerful. However many older browsers did not have full support for ES6. Even some newer versions of browsers like Internet Explorer only provided partial support for ES6. So most projects use compilers like Babel to convert ES6 code to ES5 for older browser support.
Even though it took 6 years for ES6 to be released after the release of ES5, subsequent versions of ECMAScript are released every year until 2018.
ECMAScript 2016 (ES7)
ECMAScript 2017 (ES8)
ECMAScript 2018 (ES9)
But most developer forums, browser release docs, and documentation of JS libraries just mention ES5 and ES6. The newer versions of Javascript are mostly ignored in these discussions. It is because unlike ECMAScript 2015, all the latest versions are just minor changes/updates compared to the previous versions.
Some Important Features released in ES5 are forEach, map, filter, reduce, every, indexOf, getters & setters, parse, stringify, etc.
Some Important features released in ES6 are for..of, for..in, Spread operator, Rest Operator, default params for functions, Template literals, Arrow functions, Classes, Promise, etc.
Some Important features released in ES7 are Exponentiation operator, includes, etc.
Some important features released in ES8 are async-await, padStart, padEnd, Object.entries, Object.values etc.
Some important features released in ES9 are finally() in promises, async iterables.