L'opérateur spread en JavaScript
En ES6, un opérateur spécial ... est apparu,
appelé spread.
Lorsque l'opérateur spread est placé devant un tableau, il sépare ce tableau en valeurs individuelles, transformant le tableau en un ensemble de paramètres nécessaires pour l'appel de la fonction.
Cela semble probablement peu clair, alors regardons
un exemple simple. Supposons que nous ayons
une fonction prenant 3 paramètres
et renvoyant leur somme :
function func(num1, num2, num3) {
return num1 + num2 + num3;
}
Supposons que nous ayons également un tableau de trois éléments :
let arr = [1, 2, 3];
Il est évident que nous ne pouvons pas simplement transmettre ce tableau comme paramètre à la fonction, comme ceci :
let arr = [1, 2, 3];
func(arr);
En effet, dans ce cas, tout le tableau passerait dans le premier paramètre de la fonction, or ce paramètre doit recevoir un nombre (et il en va de même pour les autres paramètres).
Bien sûr, il est possible de procéder comme suit :
let arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);
Mais il existe un moyen plus simple - utiliser l'opérateur spread :
let arr = [1, 2, 3];
func(...arr);
Avoir une variable n'est pas obligatoire - on peut appliquer spread directement au tableau :
func(...[1, 2, 3]);
Soit un tableau :
let arr = [1, 2, 3, 4, 5];
Soit également une fonction :
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
Trouvez à l'aide de la fonction donnée la somme des éléments du tableau.