History of ECMA (ES5, ES6 & Beyond!)

Subscribe to my newsletter and never miss my upcoming articles

Introduction

As a JavaScript newbie, I found the use of acronyms ES6, ES 2015 and ECMAScript 7, etc. very confusing at first. I did not find one article that explained the history of how it all began. Hence, I have come up with this blog post which explains the history behind ECMAScript.

What is ES?

ES stands for ECMAScript. An association of manufactures was formed in Brussels on April 27, 1960, to bring in a set of standards in operational techniques such as programming and other input & output codes. The association was formed to draw-up the by-laws and rules for standardization. They were referred to as the 'European Computer Manufacturers Association' or otherwise popularly known as ECMA.

daniele-levis-pelusi-EHfiW-cV0ls-unsplash.jpg

JavaScript was developed by Brendan Eich of Netscape; initially, it was named Mocha, later LiveScript, and finally JavaScript. The name 'JavaScript' was chosen in the hopes of capitalizing on Java's popularity.

Netscape had submitted JavaScript to ECMA International for standardization. This resulted in the new language standard known as the ECMAScript. And that ladies & gentlemen is the history of ECMAScript or popularly known as ES.

So What's ES5, ES6, etc.?

ES followed by the number is referencing an edition of ECMAScript. So far, there have been ten editions of ECMAScript published.

ES1 to ES4

I wouldn't go into the details of the first four versions, mainly because I feel it isn't very relevant as of today. However, if you are interested to know more, I have provided references at the end of the article that you can reference.

The only thing that might interest you is that every year the committee met and released a new version of ECMAScript standard. So, the releases ES1 to ES3 were annual from the years 1997 to 1999. However, ES4 was completely abandoned due to political differences.

ES5

In December 2009, nearly 10 years later, ES5 was released.

Notable Features

Addition of the 'strict' mode, a feature allowed to check for correctness of JavaScript code.

ES6

This is pretty much the starting point for all confusion. All you need to remember is this → ES6 is the same as ES2015!!

ES6.png

After it was initially released in June 2015, it was known as ES6, but then later the committee wanted to keep the release in par with the year it was releasing and hence it was renamed to ES2015. Subsequent releases were also named according to the year of release such as ES2016, ES2017, etc.

ES6 or ES2015 was one of the most important releases due to a number of features released to bring JavaScript in par with other modern languages.

Notable Features

  • Class declarations (class Person() { ... })
  • Introduction to Modules - import * as moduleName from '.filename'; export const Person
  • Iterators for...of loops
  • Function Expressions ( function() ⇒ { ...}())
  • Collections such as Maps, Sets
  • And many more.. You can read about the entire list over here

ES7 (ES2016)

ES7 or officially known as ES2016 was released in June 2016.

Notable Features

  • Async/Await for asynchronous programming.
  • Block Scoping of variables & functions.
  • Destructuring patterns of variables.

ES8 (ES2017)

ES8 or officially known as ES2017 was released in June 2017.

Notable Features

  • Async/Await Constructors.
  • Features for concurrency and atomics.

ES9 (ES2018)

ES9 or officially known as ES2018 was released in June 2018.

Notable Features

ES9-Features.png

  • Rest/Spread operators for variables (three dots ... identifier)
  • Asynchronous Iteration
  • Promise.prototype.finally()

ES10 (ES2019)

ES10 or officially known as ES2019 was released in June 2019.

Notable Features

  • Array.prototype.flat
  • Changes to Array.sort
  • Object.fromEntries

ES.Next

ES.Next is a dynamic term that refers to whatever the next version at the time of writing.

Conclusion

I hope this article clarifies what the terminologies ES or ECMAScript means. and what the number following the word ES indicates. So, if anyone refers to ES6 or ES2015, remember they are referring to the same version.

Thank you for taking the time to read this article. Don't forget to subscribe and connect with me on Twitter @skaytech

If you like this, you may also be interested in:

Peter Thaleikis's photo

Thanks!

Tapas Adhikary's photo

Skay,

Liked it. Thanks for sharing.

Skay's photo

Hey Tapas, thank you so much. I'm a big fan of your JAMF articles. Really good content. Thank you for sharing them!!

Tapas Adhikary's photo

Skay , Sure.. this is motivating.

Chris Bongers's photo

Nice write up, I always get so confused by which ones are actually supported now.

Skay's photo

Thank you! Glad to know I'm not the only one 🙂🙌