ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で呼び出し元関数を確実に識別するにはどうすればよいですか?

JavaScript で呼び出し元関数を確実に識別するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-29 20:44:12
オリジナル
939 人が閲覧しました

How Can I Reliably Identify the Caller Function in JavaScript?

JavaScript での呼び出し元関数の識別

JavaScript では、関数の caller プロパティを使用して、それを呼び出した関数の名前を取得できます。 。ただし、このプロパティは非推奨とみなされ、推奨されなくなりました。

function main() {
  Hello();
}

function Hello() {
  // How do you find out the caller function is 'main'?
}
ログイン後にコピー

コール スタックの検索

コール スタックを確認するには、arguments.callee を使用できます。 .caller.toString() ですが、これも非推奨です。このソリューションは非標準であり、すべてのブラウザまたは JavaScript 実装で機能するとは限らないことに注意してください。

非推奨のソリューション

function Hello() {
  alert(`caller is ${arguments.callee.caller.toString()}`);
}
ログイン後にコピー

最新のソリューション

より現代的な解決策は、新しいものを使用することです。 Error().stack.

function Hello() {
  console.log(new Error().stack);
}
ログイン後にコピー

これにより、呼び出し元関数の名前を含むスタック トレースが出力されます。

重要な注意事項:

caller プロパティと argument.callee.caller.toString() は非推奨であるため、運用コードでは使用しないでください。コールスタックを取得するには、常に新しい Error().stack ソリューションを使用してください。

以上がJavaScript で呼び出し元関数を確実に識別するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート