Google Chrome と V8は、ECMAScript 3.1 “Harmony”として知られている、JavaScriptの次バージョンが計画しているフィーチャのいくつかをもうサポートしている。これらのフィーチャを試すには、Chromeの開発チャネルリリース を“Experimental JavaScript features” フラッグをオンにして使えばよい。
Googleのプレスリリース で目を引いたフィーチャーは、
レキシカルスコープ letが新しいvarになる。従来のvar宣言は、letとconstで補える。両方共、適切なブロック有効範囲を使ったバインディングであり、エラーや妙な動きの共通原因を取り除いている。関数宣言は、公式にローカルスコープでも許され、またレキシカルスコープに従う(注意:レキシカルスコープは、ES strictモードのみで使える)。
コレクション 効率的なmapとsetでもっと楽にプログラムできる。いかなる値でも、オブジェクトを含んでキーや要素として使うことができる。驚くことはない、オブジェクトを辞書として悪用する必要はもう無い。(警告:コレクションのイテレーションは、まだ仕様になっていない)。
weak_map 特殊なmapでガーベッジコレクターがキーがもはや到達可能出なくなったと判断したら、キー-値の組をmapから自動的に取り除くことができる。これは長い寿命のテーブルでメモリーリークを起こさないようにするために、とても役立ち、開発者は古いエントリーについて心配しないで済むようになる。
proxy proxyは、JavaScriptのオブジェクトや関数をシミュレートし、あなたが想像できるそれらの動きのある面についてだけカスタマイズできる。これは、かなり強力な機能で、新しいレベルへのリフレクションを取って、様々な高度な抽象やインターフェースを実装するのに使うことができる。
JavaScriptに考えられている他のフィーチャー には、modules, iterators, generatorsがある。