2009年1月21日水曜日

JavaScriptのdoesNotUnderstand

Smalltalkでは、すべてがオブジェクトだ。しかし、CやJavaでは違う。
今、Smalltalk流のオブジェクト指向はRubyやJavaScriptに受け継がれている。
JavaScriptは正確にはオブジェクト指向とは言い難いが、すべてのブラウザに組み込まれているため、最も身近なプログラミング言語といってもよい。
ところで、Smalltalkのオブジェクトには面白い機能があった。それはオブジェクトが理解しないメソッド呼び出しが起きるとdoesNotUnderstandというメソッド呼び出しに切り替わる機能だ。これは大変役に立つ。つまり、doesNotUnderstandさえ定義しておけば、どんな未知のメソッド呼び出しにも対応できるからだ。
これがJavaScriptにはない。そのためオブジェクトを拡張しようとしても難しかった。しかし、世の中には広い。JavaScriptにdoesNotUnderstandを組み込んだ人がいた。
今すぐではないかもしれないが、きっと将来役立つと思うので紹介しておく。
http://blogs.sun.com/sundararajan/entry/doesnotunderstand_in_javascript

0 件のコメント: