JavaScript でメソッド名自動生成 ― 2006年05月18日 04時07分
JavaScript でもメソッド名自動生成はできる……といっていいんだろうか? JavaScript の一実装に過ぎない SpiderMonkey の独自拡張機能にあるだけで ECMAScript はもちろん JScript でもできないからダメかな? まあ一応できる実装もある。「404 Blog Not Found:Perl Monger の質問 - AUTOLOADって他でどうやるの?」で挙げられていた例でいうとこんな感じ。
// SpiderMonkey のみ (Firefox など)
function UnicodeChar() {}
UnicodeChar.prototype.__noSuchMethod__ = function (name) {
var c = String.fromCharCode(name.replace(/^u/, "0x"));
return (this[name] = function () {return c;})();
};
var u = new UnicodeChar();
alert(u.u5c0f() + u.u98fc() + u.u5f3e()); // 小飼弾
一応 perl の goto &$AUTOLOAD
に相当するものだと思うけど perl は詳しくないから外してるかも。それから ActionScript には __resolve
とか flash.util.Proxy
とかがあるらしいからそれでいけるのかな? あとは JavaScript 2 でそこらあたりが標準でサポートされるみたいだからそれを待つか。
コメント
トラックバック
このエントリのトラックバックURL: http://nanto.asablo.jp/blog/2006/05/18/369784/tb
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※投稿には管理者が設定した質問に答える必要があります。