Firefox Nightly で構文とかAPIとかオプションが追加された

一気に紹介

spread array

テストコード:mozilla-central mozilla/js/src/jit-test/tests/basic/spread-array.js

var a1 = [2,3,4,5];

var a2 = [1, ...a1, 6]; // => [1,2,3,4,5,6]

なんていうか、Array#concatみたいな感じでもある。[ ...arryObj, ]とすることでarryObjが展開される。

正直ちょいと使い道が思いつかない...。

Numberビルトインオブジェクトに幾つかメソッド追加

ES.next ではNumberオブジェクトに多くのメソッド追加が提案されていて、その一部

Number.isNaN()

isNaN()と一緒

テストコード:mozilla-central mozilla/js/src/jit-test/tests/basic/number-isnan.js

Number.toInteger()

整数に変換するメソッド。parseInt()とはちょっと挙動が違うので注意

テストコード:mozilla-central mozilla/js/src/jit-test/tests/basic/number-tointeger.js

Number.isInteger()

整数であるかの真偽値を返すメソッド

テストコード:mozilla-central mozilla/js/src/jit-test/tests/basic/number-isinteger.js

NUmber.isFinite()

数値であり、かつ、有限値であるかの真偽値を返すメソッド

テストコード:mozilla-central mozilla/js/src/jit-test/tests/basic/number-isfinite.js

E4Xのオプション

about:configにJavaScriptに対する二つのオプションが追加される

javascript.options.xml.chrome
アドオンなどでのJavaScriptE4Xの有効/無効(デフォルト:有効)
javascript.options.xml.content
コンテンツ内のJavaScriptE4Xの有効/無効(デフォルト:有効)

以前から、Strictモード内ではE4X構文が禁止されたり(695577 - E4X syntax should not be accepted in ES5 strict mode)してたが、今回はもっと強力。

完全に使えなくなる。リテラル表記はもちろん、XML,XMLListコンストラクタまで存在しなくなる。

E4Xはまあ一般的には使われていないだろうけど、Greasemonkeyユーザスクリプトなどで、ヒアドキュメント代わりに使われていたりする。javascript.options.xml.contentfalseだと構文エラーとなって実行されなくなるので注意が必要だと思う。

とはいえ、当分デフォルト有効のままだと思うけど...。