JavaScript でリフレクションを利用する

February 18, 2008category: JavaScript 

JavaScript でリフレクションを利用してみた。肝は

arguments.callee.toString();

以下は、実行されているメソッド名を取得し、引数の数が正しくなければ、メソッド名と正しい引数を出力する例。

function hoge(a, b, c) {
  var matches = arguments.callee.toString().match(/function\s+([^(]+\([^)]*\))/);
  if (arguments.callee.length != arguments.length) {
    console.log("Wrong number of arguments for : " + matches[1]);
  }
}

hoge(1, 2);
//=> wrong number of arguments for : hoge(a, b, c)

comments (0)このエントリーを含むはてなブックマークはてなブックマーク - JavaScript でリフレクションを利用する

comments