The complete ECMAScript 2015-2019 guide

ECMAScript is the standard on which JavaScript is based, and is often abbreviated as ES. Discover all the information about ECMAScript and its latest features

Whenever you readJavaScriptYou will inevitably see one of the following terms:

  • ES3
  • ES5
  • ES6
  • ES7
  • ES8
  • ES2015
  • ES2016
  • ES2017
  • ECMAScript 2015
  • ECMAScript 2016
  • ECMAScript 2017
  • ECMAScript 2018
  • ECMAScript 2019

What do they mean?

They all refer tostandard, Called ECMAScript.

ECMAScript isThe standard on which JavaScript is based, Usually abbreviated asES.

In addition to JavaScript, other languages also implement ECMAScript, including:

  • Action script (the Flash scripting language), which is losing popularity since Flash will be officially discontinued in 2020
  • script(Microsoft scripting dialect), because only Netscape supported JavaScript at the time, and the browser war was in its heyday, Microsoft had to build its own version for Internet Explorer

But of course JavaScript isMost popularAnd widely used ES implementation.

Why is this weird name?Ecma InternationalIt is the Swiss Standards Association responsible for defining international standards.

When JavaScript was created, Netscape and Sun Microsystems provided it to Ecma, and they gave it the alias of ECMA-262.ECMAScript.

This press release from Netscape and Sun Microsystems(Java’s manufacturer) may help you determine the choice of name, which may include Microsoft’s legal and brand issues in the committee,According to href="Wikipedia.

After IE9, Microsoft stopped labeling its ES-supported brand as JScript in the browser and started calling it JavaScript (at least, I can’t find a reference to it anymore)

Therefore, starting from 201x, the only popular language that supports the ECMAScript specification is JavaScript.

What is TC39

TC39 is the committee for the development of JavaScript.

The members of TC39 are companies involved in JavaScript and browser vendors, including Mozilla, Google, Facebook, Apple, Microsoft, Intel, PayPal, SalesForce, etc.

Each standard version proposal must go through various stages,Explain here.

ES version

I am confused, why sometimes use the version number and sometimes the year to refer to the ES version, and I am confused about the year, because the occasional number is -1, which adds to the general confusion about JS/ES 😄

Before ES2015, the ECMAScript specification was usually called by its version. Therefore, ES5 is the official name of the ECMAScript specification update released in 2009.

Why is this happening? In the process leading to ES2015, the name was changed from ES6 to ES2015, but because it was so late, people still refer to it as ES6.

Some contents of this table should be cleared:

Version Official name Release date
ES11 ES2020 Summer 2020?
ES10 ES2019 Summer 2019
ES9 ES2018 June 2018
ES8 ES2017 June 2017
ES7 ES2016 June 2016
ES6 ES2015 June 2015
ES5.1 ES5.1 June 2011
ES5 ES5 December 2009
ES4 ES4 abandoned
ES3 ES3 December 1999
ES2 ES2 June 1998
ES1 ES1 June 1997

ES next step

ES.Next is a name that always indicates the next version of JavaScript.

So at the time of writing, ES2019 has been released, andES.Next is ES2020

Download mine for freeJavaScript beginner's manual

More js tutorials: