JavaScript での Arguments.callee.caller プロパティの非推奨
呼び出し元関数へのアクセスを許可していた argument.callee.caller プロパティは、いくつかの理由により JavaScript では非推奨になりました
非推奨の動機
名前付き関数式を使用した代替
ECMAScript 3 では、名前付き解決策として関数式が導入されました。
[1,2,3,4,5].map(function factorial(n) { return (!(n>1))? 1 : factorial(n-1)*n; });
このアプローチでは、いくつかの機能が提供されました。利点:
Arguments.callee.caller の非推奨
arguments.callee の問題に加えて、Function.caller にもパフォーマンスへの影響がありました。そして最適化が困難になりました。コールスタックを常にチェックする必要があるため、インライン化やその他の最適化が妨げられました。したがって、これらの問題を解決するために、arguments.callee.caller と Function.caller は両方とも非推奨になりました。
非推奨にもかかわらず、一部のブラウザーは依然としてこれらのプロパティをサポートしていますが、その使用は推奨されません。呼び出しチェーンへのアクセスと管理には、名前付き関数式などの代替アプローチを使用することがベスト プラクティスです。
以上が`arguments.callee.caller` プロパティが JavaScript で非推奨になったのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。