Free email newsletter: “ES.next News

2016-02-24

Arrow functions vs. bind()

ES6 arrow functions are often a compelling alternative to Function.prototype.bind().

2016-02-22

Examples of name clashes in JavaScript’s standard library

The main use case for ES6 symbols is that you can use them as property keys that can’t clash with other property keys.

In case you think that name clashes don’t matter, here are three examples of where name clashes caused problems in the evolution of the JavaScript standard library:

2016-02-11

JavaScript fatigue fatigue

Enough with the fatigue – tips against feeling overwhelmed:

2016-02-04

ES proposal: Object.getOwnPropertyDescriptors()

The ECMAScript proposal “Object.getOwnPropertyDescriptors()” by Jordan Harband and Andrea Giammarchi is part of ECMAScript 2017. This blog post explains it.

2016-02-02

Feature watch: ECMAScript 2017


Check out my book (free online): “Exploring ES2016 and ES2017”. All finished proposals are added to it.


ECMAScript 2016 was recently standardized. This blog post tracks what features may be included in ES2017. I will continually update it.

Last updated 2016-10-03.

2016-02-01

ES proposal: async functions

Async functions are an ECMAScript proposal by Brian Terlson. It is at stage 3 (candidate).

Before I can explain async functions, I need to explain how Promises and generators can be combined to perform asynchronous operations via synchronous-looking code.

ES2016 feature: exponentiation operator (**)

The exponentiation operator (**) is an ECMAScript proposal by Rick Waldron. It is at stage 4 (finished) and part of ECMAScript 2016.

ES2016 feature: Array.prototype.includes

Array.prototype.includes is an ECMAScript proposal by Domenic Denicola and Rick Waldron. It is at stage 4 (finished) and part of ECMAScript 2016.