Les paramètres du reste
De nombreuses fonctions prédéfinies en JavaScript acceptent un nombre variable d’arguments. C’est par exemple le cas de la méthode max
de l’objet Math
à laquelle on va pouvoir passer autant d’arguments que l’on souhaite.
Parfois, nous voudrons également définir des fonctions pouvant accepter un nombre variable d’arguments. Pour faire cela, nous allons devoir utiliser une notation utilisant …
dans la déclaration des paramètres de la fonction suivi d’un nom qu’on va choisir.
See the Pen
Cours JavaScript 10.1.1 by Pierre (@pierregiraud)
on CodePen.
Lorsqu’on déclare des paramètres de cette manière, on parle de « paramètres du reste ». Littéralement, on demande au JavaScript de stocker les arguments passés dans un tableau qui possèdera le nom mentionné après …
.
On va également pouvoir créer des fonctions en précisant des paramètres de manière « classique » et en utilisant aussi des paramètres du reste. Dans ce cas-là, seuls les arguments supplémentaires passés à la fonction seront stockés dans le tableau.
Attention cependant : pour que ce type d’écriture fonctionne, il faudra toujours préciser les paramètres classiques en premier et les paramètres du reste en dernier dans la déclaration de la fonction.
See the Pen
Cours JavaScript 10.1.2 by Pierre (@pierregiraud)
on CodePen.
L’opérateur de décomposition
Les paramètres du reste permettent de stocker une liste d’arguments dans un tableau qu’on va ensuite pouvoir manipuler.
L’opérateur de décomposition permet de faire l’opération inverse, à savoir transformer un tableau en une liste d’arguments qu’on va pouvoir passer à une fonction.
L’opérateur de décomposition utilise la même syntaxe avec …
que les paramètres du reste à la différence qu’on va faire suivre les trois points par le nom d’un tableau existant.
L’opérateur de décomposition va alors casser le tableau en une liste d’arguments qui vont pouvoir être utilisés par la fonction.
La fonction max
le l’objet Math
, par exemple, accepte une liste de nombres en arguments et retourne le plus grand. On va pouvoir utiliser l’opérateur de décomposition pour lui passer cette liste sous forme de tableau.
See the Pen
Cours JavaScript 10.1.3 by Pierre (@pierregiraud)
on CodePen.
Cette façon de faire va être très utile dans le cas où on ne sait pas à l’avance combien de nombres on va passer à max
. En effet, on peut ainsi créer un script qui va ajouter les nombres passés dans notre tableau et passer le tableau à la fonction quel que soit le nombre d’éléments dans celui-ci.