Javascriptの黒魔術=クロージャを宮沢賢治風に説明してみる
2007.12.06
先日のエントリーで、「Javascriptの黒魔術」と呼んだのはクロージャのこと。関数呼び出しの際に一時的に作られただけのはずのローカル変数が、ある条件が整うとその関数の実行が終わった後もゾンビのように生き延びて参照が可能、というのがJavascriptのクロージャだ。
これを宮沢賢治風に書いてみるとこんな感じになる。
ある町でふらりと一人で立ち寄ったカラオケ・スナックは、カウンター席しかないとても小さな店だが、客のノリが良くてとても気持ちよく歌えた。おかげでマイクが離せなくなってしまった私に、帰り際にマスターが「そんなに気に入ったのなら、そのマイク持って返ってもいいですよ」と言う。
言われるままに持って返ったマイクは、しばらく家のテレビの横にだらしなく置いてあったのだが、ある晩に歌番組を見ていると私がカラオケで十八番にしている曲が流れるものだから、おもわずそのマイクを手に取って歌ってみた。すると驚いたことに、あのスナックにいた客とマスターがどこからともなく現れ、あの晩のように声援を送ってくれるではないか。
驚く私に、マスターがウインクして言う。「これがJavascriptのクロージャってヤツなんです。気にせず、どんどん歌ってください」。
やっぱり黒魔術だ。
The story you made really seems like a Kenji-Miyazawa's. Always enjoying your article XD
Posted by: vincent | 2007.12.07 at 01:57