Iterables and iterators in ECMAScript 6

This blog post is outdated. Please read chapter “Iterables and iterators” in “Exploring ES6”.

This blog post is part of a series on iteration in ES6:

  1. Iterables and iterators in ECMAScript 6
  2. ES6 generators in depth

ECMAScript 6 introduces a new interface for iteration, Iterable. This blog post explains how it works, which language constructs consume data via it (e.g., the new for-of loop) and which sources provide data via it (e.g., arrays).


A 90 minute overview of ECMAScript 6 (video)

On February 1, 2015, I held the 90 minute talk “Using ECMAScript 6 today” at the Rolling Scopes Conference in Minsk. A video recording of that talk is online:


Vote for your favorite “Exploring ES6” cover!

There are two candidates for the cover of my upcoming book, “Exploring ES6”. You can now vote for your favorite. I’ll announce a winner in a week.


Classes in ECMAScript 6 (final semantics)

Check out my book (free online): “Exploring ES6”. Updated version of this blog post: chapter “Classes”.

Recently, TC39 decided on the final semantics of classes in ECMAScript 6 [2]. This blog post explains how their final incarnation works. The most significant recent changes were related to how subclassing is handled.


First details of my upcoming book on ES6

I’m glad that I can finally announce the first details of my upcoming book:

  • Title: Exploring ES6 – Upgrade to the next version of JavaScript
  • Website: ExploringJS.com
    • Go there to get more information and to subscribe to be notified when the book comes out.

Thanks to everybody who helped me figure out the title!


Variables and scoping in ECMAScript 6

This blog post examines how variables and scoping are handled in ECMAScript 6 [1].


Google SoundScript: faster OOP for JavaScript

Update 2015-02-05: More information – “Experimental New Directions for JavaScript” by Andreas Rossberg (slides in English).

Google is currently working on SoundScript, a way to speed up object-oriented programming in JavaScript. The content of this blog post is completely based on a recent talk [1] by Dmitry Lomov. That is, everything I have written here is inferred from those slides and may or may not be correct.

Note: This blog post describes first ideas, avenues that Google is exploring for making JavaScript OOP faster. The final version of SoundScript may look and work completely different.


Try out Facebook’s Flow typechecker online

You can now try out Flow [1], Facebook’s typechecker for JavaScript, online, at tryflow.org.