The First ECMAScript.next Features in Firefox and Chrome
Join the DZone community and get the full member experience.
Join For FreeThe 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.
A post on Google+ provides details on V8. Quoting François Beaufort:
A code search suggested by Paul Irish shows the relevant flags:
Andreas Rossberg elaborates:
Firefox
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 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
- 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.
Related reading
- 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
ECMAScript
Blocks
POST (HTTP)
JavaScript
Harmony (operating system)
Chromium (web browser)
DAvE (Infineon)
Google (verb)
Opinions expressed by DZone contributors are their own.
Comments