2010/03/26

ECMAScriptのJIS委員会に行ってきたので...

せかっくだから,なんか書くよ.

非常に大雑把にいうと今回の委員会は,ECMAScript 5th Edition(JavaScriptコア言語の最新仕様)がECMAで採択されてISO/IEC標準になりそうだから,日本でも審議しなきゃねーという流れで招集されました.
詳しい話は,委員である竹迫さんのデブサミ2010でのスライドを見るとバッチリです!(いきなり他力本願だな)

で,そういえば,自分も委員だったんですよねー・・・
委員に呼ばれた理由は至極単純.委員会の平均年齢が毎年1歳ずつ上がっていくという,よくある危機を回避すべく,ここらで平均年齢をガっと下げとこうぜ!的なノリで,たまたま委員の人と知り合いだった自分が呼ばれたみたいだよ(ぉぉ
ぶっちゃけ,ネットを見てると,自分よりもっと適任だよなーって人はたくさんいますね!

それはさておき,今回は昨年末に続いて2回目の会合でした.
前回は顔合わせ程度だったのに対し,今回は具体的に仕様に対してツッコみを入れたりして,予定時間をオーバーする白熱した議論が展開されてましたよ!

・・・と書いてきて,あそこでの話をどれくらい書いていいものなのか知らない自分がいました.
うーん・・・

下手なこと書いてもいけないので,ミーティングの内容とは関係ない,ちょっとした小ネタでお茶をにごそう.(ちょっ,タイトルの意味無いじゃん!)

すんげー細かい話ですが,5th になって 3rd では構文的に許されてなかった書き方が公式に許容されるようになりましたよ.
有名なところでは,Automatic Semicolon Insertionが賢くなって,ブロックの閉じブレース「}」の前でセミコロン「;」が省略できるようになりましたよ.
例えば:
do{ s += i } while ( ++i < 10 );
// ↑ココ!
と一行で書いても,Perlみたいにセミコロン省略しておっけー!

あと,閉じブレースに関していうと,オブジェクトリテラルの最後でカンマ「,」を余分に入れてもOKになった:
var o = {
    a: "hoge",
    b: "fuga",
    c: "piyo", // ←ココ!
};
これは配列リテラルでもいっしょ:
var arr = [0, 1, 2,,,]; // ←何個でも!
特に縦に並べて書くときとかに超便利!!(≧▽≦)b
・・・・えっ,知ってる?・・・・・・・あ,そう.

じゃあじゃあ,これは?
5thからは,正規表現リテラルの中で使える文字がゆるくなって,文字クラスの中ではスラッシュ「/」をエスケープしなくてよくなりましたよ.
 つまり:
var re = /[/]/;
これはOK!
3rdまでは「/[\/]/」って書かなきゃいけなかったケースですね.
なので,ECMAScriptのlexerとか作ったことある人は要注意ですよー.忘れずに修正しておいてくださいね!
・・・・・・え,どーでもいい?
ナニ?それってつまり,気にしてるの俺だけってこと!?

ちなみに,これらはもうメジャーなブラウザの最新版ではサポートされてるので,試してみてくださいねー.っていうか,今回の仕様自体,ほとんど事実追認が主体なんで(ぉ