La propagation de la Syntaxe vs Reste Paramètre dans ES2015 / ES6
Je suis confus au sujet de la propagation de la syntaxe et de repos paramètre dans ES2015. Quelqu'un peut-il expliquer la différence entre eux, avec les bons exemples?
- On est sur le site d'appel, l'autre est dans la liste des paramètres. Ou pour les tableaux, on est dans le sens littéral, l'autre est dans une déstructuration de l'expression.
- Quelqu'un peut-il expliquer pourquoi il est downvoted?
- Probablement en raison de l'absence montré l'effort de recherche. Aussi, où avez-vous trouver ces termes, où et comment étaient-ils si mauvais explique que vous ne pouvez pas faire la différence?
- Merci @Bergi, mais j'étais pressé.
- opinion personnelle, vos commentaires offrent plus de connaissances que l'on a accepté de répondre, en indiquant simplement
expanding
vscollapsing
ne pas dire à leurs cas d'utilisation, merci 😉
Vous devez vous connecter pour publier un commentaire.
Lors de l'utilisation de propagation, vous êtes l'expansion d'une seule variable en plus:
JS:
Lors de l'utilisation de repos arguments, vous êtes effondrement de tous les autres arguments d'une fonction dans un tableau:
JS:
const [a, b, ...c] = [1, 2, 3, 4, 5, 6, 7, 8, 9]
?rest
. Lirea
,b
et le reste de la matrice.ES6 a nouvelle fonctionnalité trois points
...
Ici est de savoir comment nous pouvons utiliser ces points:
Ici
...m
est un collectionneur, il recueille le reste des paramètres. En interne lorsque nous écrire:var [c, ...m] = [1,2,3,4,5];
Le JavaScript n'suivantes
Ici,
...params
se propage de manière à assing tous ses éléments àother
En interne, le javaScript n'suivantes
Espère que cette aide.
Résumé:
En javascript la
...
est surchargé. Il effectue les différentes opérations en fonction de l'endroit où l'opérateur est utilisé:Exemple:
Reste la syntaxe de paramètre:
JS:
Propagation de la syntaxe:
JS:
Fondamentalement comme en Python:
Ajouté dans l'ES6 ces trois points
...
a deux significations, la Propagation de l'opérateur et de Repos paramètrePropagation de l'opérateur: Vous utilisez les trois points à développer
iterables
, pariterables
je veux direarrays
,string
, etc. En tant qu'arguments. Par exempleMath.max()
fonction s'attendre à un nombre indéterminé d'arguments donc vous pouvez utiliser la Propagation de l'opérateur à développer des éléments comme arguments surMath.max()
fonction. Voici un exemple de mdnUn autre cas d'utilisation consiste à ajouter, par exemple, ce tableau
Vous pouvez l'ajouter à un autre tableau
Puis
favoritesVideoGames
valeur estSur le Repos paramètre, ici le MDN définition
Cela signifie que vous pouvez emballer de nombreux éléments dans un seul élément
Ici un exemple de MDN
J'ai l'habitude de se confondre avec ces trois points, ce illustration par @stephaniecodes m'aide à me souvenir de sa logique. Je mentionne que j'ai pris l'inspiration de cette illustration pour répondre à cette question.
J'espère que c'est utile.
Javascript trois points (
...
) opérateur peut être utilisé de deux manières différentes:JS:
JS:
Noter que la propagation de l'opérateur peut être le premier élément, mais le reste paramètre doit être la dernière recueillir le reste des éléments .