JavaScript, ES6, ES7, ES10 where are we?

Yann s
Engineered @ Publicis Sapient
11 min readDec 3, 2019

--

What is JavaScript? According to Wikipedia, it is a scripting language that conforms to the ECMAScript specification. ES6, ES7, etc… You probably have heard those names, you also have most likely been using ES6 for a while (with Babel in a lot of cases).

I’m sure most of you are using many different fancy ES6 features without asking yourself: Is this really ES6, is this still a feature unsupported by Browser? Between you and me, how much do you know about what Babel still transpiles in 2019 and how much it doesn’t? Have you refreshed your knowledge about what’s in ES? What’s been removed since the first proposal for ES6? What has been added since the initial ES7 proposal?

Because I believe everybody should be concerned about when we’re finally getting a replaceAll function in JS, let’s sit and have a bit of a retrospective on what is the current state of the ES-scene. What’s coming, what’s been fully integrated since the infancy of Babel and ES6? After reading this article, you will be an ES-10/10! (Sorry, that was the best one I had!).

A bit of history and science

Let’s travel back in time! If, like me, you have first heard of ES6 and Babel around 2014–2015, you most likely still assume things are more or less in the same place than they were. That’s fair enough, since thanks to Babel, we only have a little to care about what’s actually going on behind the scene. But as you probably imagine, those “proposal stage” functionalities that Babel allowed us back then to use before they were available, didn’t stay “proposal stage” features for 5 years.

And in order for me to stop air-quoting “proposal stage” while writing this article (it’s very hard to do air-quote while typing), I think it would be useful to give you people a refresher of what the different stages for a JS feature to be incorporated are.

Essentially, the features go through stages from 0 to 4, 0 being the earliest stage, and 4 being “ready to release”.

Stage 0 are pure ideas someone drops, it is groomed to a Stage 1 proposal, reviewed and discussed until…

--

--