jjencode:jjdecodeを見て$と_を削りたくなりました

id:javascripterさん謹製のjjencode:jjdecodeを拝見しました。以下の記述に心惹かれました。


使用するグローバル変数が$_だけ

早速、脳内で妄想が。グローバル変数の汚染やグローバルオブジェクトの改変なしでalert(1)することは果たして可能なのでしょうか? 少々頭をひねりましたが、帰結するところでは、グローバルを汚染しないようにするということは、すなわち、hasegawayosukeさんが許可していた記号の中から使用しなくてよいはずのものが出てくるということです。ざっと考えますと「=」「_(アンダースコア)」「$(ドル記号)」は削れるはずです。「_」と「$」は、identifierで使える文字ですから、グローバルに変数を持ち込む必要がなければ、使用しなくてもいいはずです。
早速、この方針で昨夜、alert(1)の実行に成功して喜んだのですが…今朝、あらためてみかえすと、「_」を使っているではあ〜りませんか?ぐげ。どうやら「undefined」の生成にアンダースコアを使ってしまった模様です。({}._+'')残念。もういちどチャレンジですね。
ちなみに、この失敗作の文字数は「466」でした。orz

なお、jjdecoderには心底驚きました。なるほど。constructorを書き換えるですね。うーん。べりナイス。

そのほか

クロスブラウザで使える整数表現についてあれこれ考えました。ひと筆書きで書ける記号だけで表現できるか?とか勝手に課題を設けて。・・・できない・・・orz