The first ECMAScript.next features in Firefox and Chrome

[2012-01-17] esnext, dev, javascript
(Ad, please don’t block)
Update 2012-01-23:ECMAScript 6 support in Mozilla” on the Mozilla Development Network.

The next version of ECMAScript (code-named ECMAScript.next [1]) will be standardized by 2013. This post enumerates the first features that are currently being tested in Firefox and Chrome.

Firefox

Dave Mandelin mentions Mozilla’s ES6 planning page. He points out the following highlights (paraphrasing an email of his): The block-scoped let and const have been available in Firefox for a long time.

V8 (Chrome, Node.js)

A post on Google+ provides details on V8. Quoting François Beaufort:
A new flag named Enable Experimental JavaScript appeared in the chrome://flags page of the last Chromium build. This flag enables web pages to use experimental JavaScript features.
A code search suggested by Paul Irish shows the relevant flags:
DEFINE_bool(harmony_typeof, false, "enable harmony semantics for typeof")
DEFINE_bool(harmony_scoping, false, "enable harmony block scoping")
DEFINE_bool(harmony_proxies, false, "enable harmony proxies")
DEFINE_bool(harmony_collections, false,
            "enable harmony collections (sets, maps, and weak maps)")
Andreas Rossberg elaborates:
... the --harmony flag currently activates the following experimental features for V8: On the browser side, that should become functional in Chrome 17 (some of it is in 16 already, but incomplete/buggy) by setting
    --js-flags="--harmony"
If you are on the Chrome dev channel, you should also see it show up on chrome://flags soon.

Related reading

  1. A brief history of ECMAScript versions (including Harmony and ES.next)
  2. ECMAScript.next: the “TXJS” update by Eich
  3. es6-shim – ECMAScript 6 functionality on ECMAScript 5