Updates:
[2015-07-02] New material in these sections:
[2015-06-24] I added an FAQ with three new questions:
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].
This blog post describes the new number and Math
features of ECMAScript 6.
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.
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.
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
.
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
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).
This blog post looks at destructuring from a different angle: as a recursive matching algorithm. At the end, I’ll use this new knowledge to explain one especially tricky case of destructuring.
Two ECMAScript 6 [^1] features enable an intriguing new style of asynchronous JavaScript code: promises [^2] and generators [^3]. This blog post explains this new style and presents a way of using it without promises.