Opérateur de propagation
L’opérateur de propagation « étale » les valeurs dans un itérable (tableaux, chaînes) sur zéro ou plusieurs arguments ou éléments. Je vous expliquerai exactement ce que cela signifie plus tard. Mais d’abord, regardons comment nous pourrions combiner deux tableaux:
Cette méthode fonctionne et fait exactement ce que nous voulons: prendre arr2 et le coller à la fin de arr1. Mais cela nous oblige à nous souvenir de la méthode concat. Ce serait mieux de pouvoir faire quelque chose comme ça: . Voici ce qui se passe si nous essayons cela:
Maintenant, nous nous sommes retrouvés avec un tableau imbriqué. Nous pourrions utiliser une boucle for, mais c’est beaucoup de code pour accomplir une tâche relativement simple. Grâce à ES6, nous avons maintenant un moyen plus facile de combiner deux tableaux: l’opérateur de propagation.
Comme mentionné ci-dessus, l’opérateur de propagation prend un tableau (ou tout itérable) et répand ses valeurs. Jetons un coup d’œil à son fonctionnement:
C’est beaucoup plus simple! L’opérateur de spread (…) prend les valeurs de arr1 et les répartit sur arr2. Nous pourrions également écrire l’exemple ci-dessus comme ceci:
L’opérateur de propagation peut également être utilisé dans un appel de fonction. Disons que nous avons une fonction qui prend un certain nombre de paramètres et que nous avons les paramètres que nous voulons transmettre stockés dans un tableau. Comment pouvons-nous appeler la fonction et passer le tableau de paramètres? Voici comment nous ferions cela avant ES6:
Encore une fois, ce serait bien de pouvoir faire quelque chose comme ça: mySum (params). Voici ce qui se passe si nous essayons cela:
En utilisant l’opérateur de propagation, nous pouvons écrire l’exemple ci-dessus comme suit:
Comme vous pouvez le voir, l’opérateur de propagation prend le tableau de paramètres et les répartit entre les arguments de l’appel de fonction. Mais que se passe-t-il si nous avons besoin de notre fonction pour pouvoir travailler avec un nombre inconnu de paramètres? C’est là que le paramètre rest entre en jeu.