Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Function.arguments
Obsolète: Cette fonctionnalité n'est plus recommandée. Même si certains navigateurs la prennent encore en charge, elle a peut-être déjà été supprimée des standards du web, est en passe d'être supprimée ou n'est conservée qu'à des fins de compatibilité. Évitez de l'utiliser et mettez à jour le code existant si possible ; consultez letableau de compatibilité au bas de cette page pour vous aider à prendre votre décision. Sachez que cette fonctionnalité peut cesser de fonctionner à tout moment.
La propriétéfunction.arguments fait référence à un objet dont la structure est semblable à celle d'un tableau dont les éléments correspondent aux arguments passés à une fonction. En lieu et place, il faut désormais utiliserarguments. Cette propriété est interdite en mode stricte à cause del'optimisation de la queue des appels (tail call optimization).
Dans cet article
Description
La syntaxefunction.arguments est obsolète. La méthode recommandée pour accéder à l'objetarguments disponible au sein des fonctions est simplement de faire référence à la variablearguments.
Si on utilise la récursivité (autrement dit si une fonctionf apparaît plusieurs fois dans la pile d'appels ou encore qu'une fonctionf s'appelle elle-même), la valeur def.arguments représentera les arguments correspondant à l'appel le plus « récent » de la fonction.
La valeur de la propriétéarguments est normalementnull si la fonction n'est pas « en cours » (au sens où elle aurait été appelée et qu'elle n'ait pas fini son exécution).
Exemples
function f(n) { g(n - 1);}function g(n) { console.log("avant : " + g.arguments[0]); if (n > 0) f(n); console.log("après : " + g.arguments[0]);}f(2);console.log("fonction terminée : " + g.arguments);// On aura l'affichage de :// avant : 1// avant : 0// après : 0// après : 1// fonction terminée : null