The final feature set of ECMAScript 2016 (ES7)

Check out my new book (free online): “Exploring ES2016 and ES2017”.

We always knew that ECMAScript 2016 (ES2016) would be a small release. It turns out that it will be very small. Read on for a list of its features and an explanation why that is not a problem.



Enumify: better enums for JavaScript

In this blog post, I present enumify, a library for implementing enums in JavaScript. The approach it takes is inspired by Java’s enums.


ES6 classes have inner names

This blog post explains that classes have lexical inner names, just like named function expressions.


Running locally installed npm executables

One nice npm feature is that you can install packages with executables locally. This blog post explains how to run locally installed executables.


Managing the private data of ES6 classes

This blog post explains four approaches for managing private data for ES6 classes:

  1. Keeping private data in the environment of a class constructor
  2. Marking private properties via a naming convention (e.g. a prefixed underscore)
  3. Keeping private data in WeakMaps
  4. Using symbols as keys for private properties


Looking back on 2015: six exciting web technologies

In 2015, there was an amazing amount of innovation related to the web platform. The following sections describe six technologies that I find exciting:

  • Electron
  • React Native
  • Progressive web apps
  • Visual studio code
  • Rollup
  • Web Assembly


My new book: “Setting up ES6”

My latest book is called “Setting up ES6”. It covers the following topics:

  • A cheat sheet for deploying ECMAScript 6
  • Example setups (skeleton projects that you can download from GitHub):
    • ES6 in browsers via webpack and Babel
    • ES6 in Node.js via Babel (compiled dynamically or statically)
  • How to configure Babel 6, including a clear explanation of how it interacts with CommonJS modules