Maison >interface Web >js tutoriel >Opérateur de diffusion ES6
L'opérateur de propagation d'ES6 peut être considéré comme très utile, offrant une grande commodité pour transmettre des paramètres aux fonctions multi-paramètres, remplacer Apply, fusionner des tableaux, ainsi que détruire et attribuer des valeurs.
L'opérateur de propagation est constitué de trois points "...", ce qui signifie que chaque élément de l'objet qui implémente l'interface Iterator est itéré un par un et retiré pour être utilisé individuellement.
Regardez cet exemple :
console.log(...[3, 4, 5])
Résultat :
3 4 5
L'appel est en fait :
console.log(3, 4, 5)
Fusionner les tableaux
Vous pouvez utiliser le spread opérateur pour combiner plusieurs tableaux. Les tableaux sont fusionnés.
let arr1 = [1, 2, 3] let arr2 = [4, 5, 6] let arr3 = [7, 8, 9] console.log([...arr1, ...arr2, ...arr3])
Résultat :
[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
Fonction passage multi-paramètres, remplacement Appliquer
Définissez d'abord les paramètres sous forme de tableau et la fonction est définie.
let arr4 = ['arg1', 'arg2', 'arg3', 'arg4'] let fun1 = (a1, a2, a3, a4) => { console.log( a1, a2, a3, a4) }
Avant ES6, vous deviez transmettre les paramètres du tableau à la fonction, ou accéder aux éléments du tableau selon l'indice pour appeler la fonction. est que le nombre de tableaux et le nombre de paramètres de fonction sont complètement liés. Si un nombre change, il doit être modifié.
fun1(arr4[0], arr4[1], arr4[2], arr4[3])
Ou utilisez simplement Apply pour l'appeler. Le résultat ne pose bien sûr aucun problème, et c'était le plus utilisé avant ES6.
fun1.apply(null, arr4)
C'est pratique si vous utilisez l'opérateur de propagation.
fun1(...arr4)
Résultat :
arg1 arg2 arg3 arg4
L'appel est simple et rafraîchissant See More .
est utilisé en conjonction avec la déstructuration et l'affectation
pour extraire tous les éléments après le premier du tableau vers un autre tableau.
let [var1, ...arr5] = [1, 2, 3, 4, 5, 6] console.log(var1) console.log(arr5)
Résultat :
1[ 2, 3, 4, 5, 6 ]
Mais attention, à la déconstruction See More Lors de la correspondance, l'opérateur spread ne peut être utilisé que sur le dernier, sinon une erreur sera signalée.
Vous pouvez développer des objets qui implémentent l'interface Iterator
Par exemple, Map, Set et array sont implémentés à partir de l'interface Iterator, mais L'objet ne l'est pas, donc Extending Object signalera une erreur.
Développez l'ensemble.
let set1 = new Set() set1.add(1) set1.add(2) set1.add(3) console.log(...set1)
Résultat :
1 2 3
Carte étendue.
let map1 = new Map(); map1.set('k1', 1); map1.set('k2', 2); map1.set('k3', 3); console.log(...map1)
Résultat :
[ 'k1', 1 ] [ 'k2', 2 ] [ 'k3', 3 ]
Remarque, celui développé Tableaux , selon la structure de paire clé-valeur de map, chaque tableau comporte 2 éléments, l'un est la clé et l'autre la valeur.
Si vous étendez Object, une erreur sera signalée.
let obj1 = { p1: 1, p2: 2, p3: 3} console.log(...obj1)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!