Everything You Need To Know About Tech

ES6, ES8, ES2017: what is ECMAScript and how does it differ ?

0 156

Learning JavaScript can be confusing for a variety of reasons, and one of them is acronyms. To keep abbreviations from confusing, in this article we will examine their meanings and the history of their occurrence.

What is ECMAScript?

First, a little history. JavaScript was created as a scripting language for Netscape. After that, he was sent to ECMA International for standardization (ECMA is an association dedicated to the standardization of information and communication technologies). This led to the emergence of a new language standard known as ECMAScript.

Subsequent versions of JavaScript have already been based on the ECMAScript standard. Simply put, ECMAScript is a standard, and JavaScript is the most popular implementation of this standard.

What is ES? Version History

History of ECMA Script
History of ECMA Script

ES is just a shortcut for ECMAScript. Each edition of ECMAScript receives an abbreviation of ES followed by its number. There are 8 versions of ECMAScript in total. 

ES1 was released in June 1997, ES2 in June 1998, ES3 in December 1999, and the ES4 version was never adopted. We will not delve into these versions, since they are morally obsolete, and consider only the last four.

ES5 was released in December 2009, 10 years after the third edition. Among the changes include:

Related Posts
1 of 26
  • support for strict mode (strict mode);
  • accessors  gettersand setters;
  • the ability to use reserved words as property keys and put commas at the end of the array;
  • multiline string literals;
  • new functionality in the standard library;
  • JSON support.

Version ES6 / ES2015 was released in June 2015. It also caused some confusion about the package name, since ES6 and ES2015 are one and the same. With the release of this update package, the committee decided to move to annual updates. 

Therefore, the publication was renamed ES2015 to reflect the year of release. Subsequent versions are also named according to their release year. The following changes have been made to this update:

  • added restructuring assignment ;
  • arrow functions added ;
  • You can declare strings in patterned strings using `(backquotes). Pattern lines can be multi-line, they can also interpolate;
  • letand const– alternatives varfor declaring variables. Added “temporary dead zone”;
  • The iterator and iteration protocol now determine how to iterate through any object, not just arrays. Symbolused to assign an iterator to an object;
  • Added function generators. They use yieldto create a sequence of elements. Generator functions can be used yield*for delegation to another generator function, in addition, they can return a generator object that implements both protocols;
  • added promises.

ES2016 (ES7) was released in June 2016. Among the changes in this version of ECMAScript include:

  • exponentiation operator **;
  • method Array.prototype.includesthat checks if the passed argument is in an array.

After another year comes version ES2017 (ES8). This standard received the following changes:

  • asynchrony is now officially supported ( asyncawait);
  • “Hanging” commas in the parameters of functions. Added the ability to put commas at the end of the function argument list;
  • Added two new methods for working with strings: padStart()and padEnd(). The method padStart()substitutes additional characters on the left before the beginning of the line. And padEnd(), in turn, on the right, after the end of the line;
  • a function is added Object.getOwnPropertyDescriptors()that returns an array with descriptors of all the object’s own properties;
  • Added memory and object sharing Atomics.

As for ES.Next, this term is dynamic and automatically refers to a new version of ECMAScript. It is worth noting that each new version brings new features for the language.


  • ECMAScript is published annually;
  • the first service packs were called ES1, ES2, ES3, ES4, ES5;
  • new issues (starting in 2015) were named ES2015, ES2016, ES2017 (abbreviation ES + year of release);
  • ECMAScript is a standard, and JavaScript is the most popular implementation of this standard. Other implementations include  SpiderMonkey,  V8,  and  ActionScript.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More