JavaScript offre une flexibilité dans la transmission d'arguments aux fonctions, y compris la possibilité d'envoyer un nombre variable d'arguments à partir d'un tableau.
Comme Python, JavaScript possède un objet arguments spécial qui représente tous les arguments passés à une fonction. Cet objet contient chaque argument en tant que propriété indexable. Par exemple :
function func() { console.log(arguments.length); for (arg in arguments) console.log(arg); } func('a', 'b', 'c', 'd'); // prints 4 and 'a', 'b', 'c', 'd'
Cependant, passer un tableau directement à une fonction en tant qu'arguments ne le fera pas parvenir au résultat souhaité. Au lieu de cela, le tableau lui-même sera traité comme un seul argument. Pour passer un tableau en tant qu'arguments individuels, vous pouvez utiliser la méthode apply() :
var arr = ['a', 'b', 'c']; function func() { console.log(this); // 'test' console.log(arguments.length); // 3 for (var i = 0; iCela affichera 'test', 3, 'a', 'b' et 'c'.
Spread Syntaxe (ES6)
Depuis ES6, JavaScript a introduit la syntaxe spread (...), qui fournit une manière plus concise d'obtenir le même résultat :
func(...arr);Cela développera les éléments de arr en arguments individuels transmis à la fonction.
Paramètres nommés avec syntaxe de propagation (ES6)
Vous pouvez également combiner des paramètres nommés avec la syntaxe de propagation pour spécifier que certains arguments doivent être traités comme un tableau :
function func(first, second, ...theRest) { //... }Conclusion
JavaScript permet de transmettre un nombre variable d'arguments aux fonctions via l'objet arguments ou, dans ES6 et versions ultérieures, en utilisant la syntaxe spread. Cette flexibilité permet une variété de cas d'utilisation, tels que la création de fonctions génériques capables de gérer un nombre arbitraire d'entrées.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3