ECMAScript 2015 – what’s new

History of JavaScript

Netscape Navigator 2.0 was the first web browser to ship with JavaScript in March 1996. The code name of the language was originally “Mocha”, then LiveScript. Its creator, Brendan Eich, states that his influences were “awk, C, HyperTalk, and Self, combined with management orders to ‘make it look like Java!'”

Standardization and specification of the language began in November 1996 when Netscape delivered it to Ecma International (European Computer Manufacturers Association). Since then it has gone through many iterations and disputes, among others between Netscape and Microsoft, which severely affected early editions.

ECMAScript is essentially a standardization of JavaScript. However, the language in itself has no definition of its environment. It is independent of environment, input, output, event processing, etc. JavaScript is an implementation of ECMAScript and provides an environment, where the browser provides the environment. Other examples of ECMAScript implementations are ActionScript and JScript.

The latest standard is known as ECMAScript 2016, which is the 7th edition. It was finalized in June 2016. However, it was in the previous edition, ECMAScript 2015 (also known as ES6, ES6 Harmony, or ECMAScript 6), where the real breakthroughs came. With this edition came new syntax for writing more complex applications, such as classes and modules.

Unfortunately, browsers have not yet caught up in the support for these new standards, and a compiler must be used. (React prefers Babel.)

New features

A full documentation of the new features and examples of how they are implemented can be found at http://es6-features.org/.

Will Stern at LearnCode.academy has released a two videos on his favorite parts of ECMAScript 2015: Javascript ES6 Cheatsheet – the best of JS ES6, and Javascript ES6 Cheatsheet #2 – the best of JS ES6.

In those two videos we learn about

  • Destructuring
  • Default Parameter Values
  • Template Strings
  • Block Scoping (const and let)
  • Classes
  • Arrow functions
  • Modules

Some of these are very simple and will make sense right away, others may look a little alien, but as we progress you will see them more often and you will get used to them eventually 😉

Leave a Reply

Your email address will not be published. Required fields are marked *