1. ホーム
  2. javascript

[解決済み] JavaScriptで呼び出し元の関数を調べるには?

2022-03-19 15:07:49

質問

function main()
{
   Hello();
}

function Hello()
{
  // How do you find out the caller function is 'main'?
}

コールスタックを調べる方法はありますか?

どのように解決するのですか?

MDNドキュメントによると、この解決策は非推奨であり、今後使用するべきではありません。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller


function Hello()
{
    alert("caller is " + Hello.caller);
}

なお、この機能は 非標準 からの Function.caller :

非標準
この機能は非標準であり、標準化されていません。ウェブに面した本番サイトでは使用しないでください。すべてのユーザーに対して機能するわけではありません。また、実装間で大きな非互換性があり、将来的に動作が変更される可能性があります。


以下は2008年の古い回答で、現代のJavascriptではサポートされなくなりました。

function Hello()
{
    alert("caller is " + arguments.callee.caller.toString());
}