ECMAScript 6thでさらに扱いやすく、大規模開発も可能に
「ECMA6thでは、JavaScriptの言語仕様をもっときれいにもっと書きやすくしようと取り組んでいる。そのほか大規模開発にも使えるように、モジュールやライブラリを整理したり、テストや相互運用性を向上したりしている」(浅井氏)
またバージョニングが複雑にならないように考慮されている、と浅井氏は言う。現行仕様のECMA5thでは従来のクラシックモードとStrictモードを、「"use script";」という文字列を使って切り替えている。この2種類のモードにさらに6thのオン・オフが加わると、面倒になる。できるだけモードの切り替えをしないような検討をしている、と浅井氏。これが決まれば、「どのモードでどんなことができるか決まってくるので、最新情報を知りたい人はチェックして欲しい」ということだ。
実際、ECMA6thのサポート状況はどうなっているのか。ここで浅井氏は各ブラウザの対応状況を紹介する。「今はまだFirefoxとChromeが一部の機能をサポートしているだけという状況だ」と浅井氏。もちろんECMA6thにも「es6-shim」などの後方互換スクリプトが用意されているので、これを最初に読み込めばすでに実装されている機能はもちろん、ブラウザで実装されてはいないが提案されている機能も一部は使えるようになるという。
続けて浅井氏は実際にサポートしている機能の紹介に移った。最初に取り上げたのがSimple Map。これはPythonのdict、RubyのHash、Javaのjava.util.HashMapなどと同じ機能を提供する。Firefox12やChrome18でサポートされているが、未実装でも先に紹介したshimスクリプトを読み込ませることで使える。
次はSimple Set。これもmapと同じで他の言語にあるsetと同じ機能を提供する。mapやsetも使うときの注意点がある。JavaScriptでは内部的には-0と+0は別の値となり、Simple Mapのキー比較時には区別される。使う際はこの点に留意して欲しい、と浅井氏。
次世代仕様でぜひ知っておいて欲しい機能として浅井氏が挙げたのが、Typed Arrayだ。型固定配列で高速数値演算ができるというもの。このほかにもまだまだたくさん機能がある。次世代仕様はすごく楽しい、と浅井氏。
10年前はJavaの出来損ないと誰も尊敬してくれなかったJavaScript。現在、HTML5の基盤言語となった。「さらに10年後。本家のJavaを超える存在になっていて欲しい」。
そう、浅井氏は熱く語り、セッションは終了した。