JavaScript、それも最近の実装は意外な所がPerlじみてるのだけど、これもその一つ。

IT戦記 - JavaScript は変数名に直接 Unicode Escape が書ける
知ってました?

Perlもuse utf8;していれば$人++が書ける。でもエスケープしなきゃならないというのがへんてこだけどね。

で、次はRubyじみてるところ。

最近のJavaScriptでは、以下が動いてしまう。

どれくらい「最近」かは詳細には追っていないのだけど、少なくともFirefox 1.5以降、Safari 4、そしてOpera 9では動く。Mac IE 5はNG。IEも6以降はよさげだけどもIE7はどうだろうか。私は検証していないのでレポートきぼんぬ。

ただし、以下はいずれの場合も駄目。

要は、subscript(添字)が、読むときだけ使えるということ。

よって、

IT戦記 - JavaScript は変数名に直接 Unicode Escape が書ける
ついでに今回作ったエスケープ関数置いておきます。(Firefox Only)

は、こうも書ける。

Enjoy!

Dan the Javascripter