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.
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).
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.
This blog post examines how variables and scoping are handled in ECMAScript 6 [^1].
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.
You can now try out Flow [^1], Facebook’s typechecker for JavaScript, online, at tryflow.org.