2015-07

What are your favorite JavaScript ES6 features?

[2015-07-21] esnext, dev, javascript

I’ve created a survey to find out what ES6 (a.k.a. ECMAScript 2015) features people like most:

2015-06

Tail call optimization in ECMAScript 6

[2015-06-30] esnext, dev, javascript

Update 2018-05-09: Even though tail call optimization is part of the language specification, it isn’t supported by many engines and that may never change. The ideas are still interesting, however and explained in this blog post.

ECMAScript 6 offers tail call optimization, where you can make some function calls without growing the call stack. This blog post explains how that works and what benefits it brings.

WebAssembly: a binary format for the web

[2015-06-18] asmjs, dev, javascript, webassembly

Updates:

WebAssembly (short: wasm) is a new binary format for the web, created by Google, Microsoft, Mozilla and others. It will be used for performance critical code and to compile languages other than JavaScript (especially C/C++) to the web platform. It can be seen as a next step for asm.js [^3].

Announcing “Exploring ES6”

[2015-06-13] esnext, book, exploring es6

2015-04

New number and Math features in ES6

[2015-04-13] esnext, dev, javascript

This blog post describes the new number and Math features of ECMAScript 6.

Deploying ECMAScript 6

[2015-04-08] esnext, dev, javascript

This blog post describes the options you have for deploying ECMAScript 6 in current JavaScript environments. It is selective w.r.t. the amount of tools it covers. If you want a comprehensive list of tools, I suggest you look at Addy Osmani’s “ECMAScript 6 Tools”.

Consult the blog post “Using ECMAScript 6 today” for an overview of ES6 features.

Using transpiled ES6 on Node.js

[2015-04-05] esnext, dev, javascript

This blog post explains how to use ES6 on Node.js by transpiling it to ES5 via Babel.

A previous blog post showed how to dynamically transpile ES6 at runtime (also via Babel). That is more convenient and should work for most projects, but occasionally you may want a simpler and faster setup for your runtime environment.

Writing client-side ES6 with webpack

[2015-04-02] esnext, dev, javascript

webpack is a client-side module builder and module loader. This blog post shows you how to write ECMAScript 6 code with it.

The code shown here is on GitHub, in the project webpack-es6-demo.

2015-03

ES6 generators in depth

[2015-03-30] esnext, dev, javascript, iteration

Generators, a new feature of ECMAScript 6 [^4], are functions that can be paused and resumed. This helps with many applications: iterators, asynchronous programming, etc. This blog post explains how generators work and gives an overview of their applications.

The following GitHub repository contains the example code: generator-examples

Using the ES6 transpiler Babel on Node.js

[2015-03-15] esnext, dev, javascript

This blog post explains how to use the ES6 transpiler Babel with Node.js. You can download the code shown in this post on GitHub. For further information on ECMAScript 6, consult the ebook “Exploring ES6”.

Warning: The approach explained in this post is convenient for experiments and development. But it uses on-the-fly transpilation, which may be too slow for your production code. Then you can transpile as a build step (as explained in the Babel documentation).