Dépréciation de la propriété Arguments.callee.caller en JavaScript
La propriété arguments.callee.caller, qui permettait d'accéder à la fonction appelante, était obsolète en JavaScript en raison de plusieurs problèmes.
Motivation pour Dépréciation
Alternatives avec Expressions de fonctions nommées
Avec ECMAScript 3, les expressions de fonctions nommées ont été introduites comme solution :
[1,2,3,4,5].map(function factorial(n) { return (!(n>1))? 1 : factorial(n-1)*n; });
Cette approche offrait plusieurs avantages :
Dépréciation d'Arguments.callee.caller
En plus des problèmes avec arguments.callee, Function.caller a également eu des implications sur les performances et a effectué des optimisations difficile. Le besoin constant de vérifier la pile d’appels a entravé l’inline et d’autres optimisations. Ainsi, arguments.callee.caller et Function.caller sont devenus obsolètes pour éliminer ces problèmes.
Malgré cette dépréciation, certains navigateurs prennent toujours en charge ces propriétés, mais leur utilisation est déconseillée. Il est recommandé d'utiliser des approches alternatives, telles que des expressions de fonctions nommées, pour accéder et gérer la chaîne d'appels.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!