En JavaScript, la syntaxe de propagation est un moyen d'étendre un type de données indexé ou itérable en un type de données itérable, en particulier un tableau ou un objet.
Alors que la syntaxe rest utilise une structure similaire pour se propager, les paramètres rest permettent de transmettre à une fonction une quantité inconnue d'arguments. La syntaxe spread inverse ce processus de telle sorte qu'une collection individuelle se prolonge dans ses éléments constitutifs.
Ceci est particulièrement utile lorsqu'un objet ou un tableau doit voir ses éléments transférés vers un nouvel objet ou un nouvel tableau. De plus, dans les arguments d'une fonction, l'opérateur spread peut être utilisé pour transmettre des éléments individuels aux paramètres de la fonction.
Par exemple, disons que nous avons un tableau de lettres :
const letters = ['c', 'a', 't']
Et disons que nous avons une fonction qui prend trois éléments et fait quelque chose avec eux :
let spell = (x, y, z) => { return y + x + z; }
Si nous voulons transmettre les éléments individuels du tableau de lettres, nous pouvons utiliser l'opérateur spread lorsque nous appelons la fonction et il dispersera automatiquement les éléments du tableau dans la liste d'arguments :
console.log(spell(...letters)); // => logs "act"
Comme mentionné, nous pouvons également copier des éléments itérables à partir d'un tableau (ou d'une chaîne).
const moreLetters = [...letters]; console.log(moreLetters); // => logs ['c', 'a', 't']
Cela peut également nous permettre de combiner ou de concaténer des tableaux plus facilement :
const evenMoreLetters = [...letters, ...moreLetters]; console.log(evenMoreLetters); // => logs ['c', 'a', 't', 'c', 'a', 't']
Le tableau peut également être réparti dans un objet, où l'élément du tableau est la valeur et le numéro d'index est la clé :
const objLetters = {...letters} console.log(objLetters); // => logs { 0: "c", 1: "a", 2: "t" }
Les objets peuvent également être fusionnés en utilisant la syntaxe spread :
const objUno = { 'one': 1 } const objDeux = { 'two': 2 } const objDrei = {...objUno, ...objDeux}; console.log(objDrei); // => logs { one: 1, two: 2 }
Bien qu'il ne s'agisse que d'effleurer la surface, cela démontre la puissance syntaxique de l'opérateur spread pour rationaliser des tâches telles que la copie et la combinaison de types de données itérables, ainsi que la transmission de plusieurs arguments à une fonction. Comme toujours, moins nous devons écrire de code, plus notre vie de développeurs sera facile.
Citations : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax
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!