The First ECMAScript.next Features in Firefox and Chrome
The Web Dev Zone is brought to you in partnership with Mendix. Discover how IT departments looking for ways to keep up with demand for business apps has caused a new breed of developers to surface - the Rapid Application Developer.
Dave Mandelin mentions Mozilla’s ES6 planning page. He points out the following highlights (paraphrasing an email of his):
- Mostly done: weak maps, simple maps and sets
- The old proxy spec has mostly been implemented, but not the newer direct proxy spec
- for...of is partially finished
- The implementation of modules is starting
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 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
- block scoping, let, const, block functions
- [old] proxies, though not direct proxies yet
- maps and sets
- weak maps
- typeof null reform--js-flags="--harmony"If you are on the Chrome dev channel, you should also see it show up on chrome://flags soon.
- A brief history of ECMAScript versions (including Harmony and ES.next)
- ECMAScript.next: the “TXJS” update by Eich
- es6-shim – ECMAScript 6 functionality on ECMAScript 5