15

Node.js で、現在実行中の関数の名前を取得しようとしています。

function doSomething(req, res) {
  console.log('Function name: ' + doSomething.name);
}

これはうまくいきますが、(可能であれば)現在のコンテキスト内で名前を取得したいと思います。このように、後でメソッドの名前を変更した場合、手動で変更する必要はありません。実行中の現在の関数/現在のコンテキストを指す汎用オブジェクト (つまり、「this」に似たもの) はありますか? ありがとうございました。

4

2 に答える 2

2

Ian からの「重複の可能性がある」提案の回答を繰り返したくありませんが、それらに加えて言及する価値のある解決策があります。

名前付き関数式を使用して、関数の外部からアクセスできる 1 つの名前と、内部からアクセスできる 1 つの名前を持つことができます。

var x = function y() {
    console.log(y);
};

console.log(x);

ここで、関数に別の名前を付けることにxした場合は、 を使用して関数を参照しながら変更することができyます。

于 2013-08-09T18:28:28.953 に答える