2016-03

Promise-based functions should not throw exceptions

[2016-03-25] dev, javascript, esnext, async, promises

This blog post gives tips for error handling in asynchronous, Promise-based functions.

The need for multi-platform npm packages

[2016-03-20] dev, javascript, esnext, npm, jsmodules

In this blog post, I argue that it should be possible to have multiple implementations of the same npm package (same name, same version).

2016-02

Arrow functions vs. bind()

[2016-02-24] dev, javascript, esnext, coding

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

Examples of name clashes in JavaScript’s standard library

[2016-02-22] dev, javascript, esnext

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:

JavaScript fatigue fatigue

[2016-02-11] dev

Enough with the fatigue – tips against feeling overwhelmed:

ES proposal: Object.getOwnPropertyDescriptors()

[2016-02-04] dev, javascript, esnext, es proposal

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

ECMAScript 2017 (ES8): the final feature set

[2016-02-02] dev, javascript, esnext, es2017

Update 2017-01-29: At the TC39 meeting in January 2017, the last feature of ECMAScript 2017, “Shared memory and atomics” advanced to stage 4. That means that its feature set is now complete, as listed below.

ES2016 feature: Array.prototype.includes

[2016-02-01] dev, javascript, esnext, es2016

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

ES proposal: async functions

[2016-02-01] dev, javascript, esnext, es proposal, async, promises

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 (**)

[2016-02-01] dev, javascript, esnext, es2016

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