Maison > interface Web > js tutoriel > le corps du texte

Opérateur de diffusion ES6

大家讲道理
Libérer: 2017-08-19 10:22:07
original
2616 Les gens l'ont consulté

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])
Copier après la connexion

Résultat :

3 4 5
Copier après la connexion

L'appel est en fait :

console.log(3, 4, 5)
Copier après la connexion

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])
Copier après la connexion

Résultat :

[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
Copier après la connexion

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)
}
Copier après la connexion

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])
Copier après la connexion

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)
Copier après la connexion

C'est pratique si vous utilisez l'opérateur de propagation.

fun1(...arr4)
Copier après la connexion

Résultat :

arg1 arg2 arg3 arg4
Copier après la connexion

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)
Copier après la connexion

Résultat :

1[ 2, 3, 4, 5, 6 ]
Copier après la connexion

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)
Copier après la connexion

Résultat :

1 2 3
Copier après la connexion

Carte étendue.

let map1 = new Map();
map1.set('k1', 1);
map1.set('k2', 2);
map1.set('k3', 3);
console.log(...map1)
Copier après la connexion

Résultat :

[ 'k1', 1 ] [ 'k2', 2 ] [ 'k3', 3 ]
Copier après la connexion

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)
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!