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 :

javascriptfunction func(num1, num2, num3) {
  return num1 + num2 + num3;
}

Supposons que nous ayons également un tableau de trois éléments :

javascriptlet arr = [1, 2, 3];

Il est évident que nous ne pouvons pas simplement transmettre ce tableau comme paramètre à la fonction, comme ceci :

javascriptlet 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 :

javascriptlet arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);

Mais il existe un moyen plus simple - utiliser l'opérateur spread :

javascriptlet arr = [1, 2, 3];
func(...arr);

Avoir une variable n'est pas obligatoire - on peut appliquer spread directement au tableau :

javascriptfunc(...[1, 2, 3]);
Задание 1

Soit un tableau :

javascriptlet arr = [1, 2, 3, 4, 5];

Soit également une fonction :

javascriptfunction 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.