L'opérateur Spread Partie 1
Fait partie de la section Logique & Flux du Journey JavaScript de Coddy — leçon 18 sur 65.
L'opérateur de décomposition (...) a de nombreux cas d'utilisation pour le JSON. Par exemple, lors de l'opération suivante :
const obj1 = {key1: "123"}
const obj2 = obj1
obj1.key1 = "456
console.log(obj2.key1)Quel serait le résultat ?
console.log(obj2.key1)
// Résultat : "456"Cela pourrait être surprenant ! Même si nous n'avons modifié que obj1, obj2 a également changé.
Cela se produit car lorsque nous assignons des objets directement (obj2 = obj1), nous créons une référence, pas une copie. Les deux variables pointent vers le même objet en mémoire.
C'est ici que l'opérateur spread devient utile. Voyons comment créer une véritable copie :
const obj1 = {key1: "123"};
const obj2 = {...obj1};
obj1.key1 = "456";
console.log(obj2.key1);
// Sortie: "123"L'opérateur de décomposition (spread operator) crée un nouvel objet et copie toutes les propriétés énumérables de l'objet source dans le nouveau.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Aide-mémoire
L'opérateur de décomposition (...) crée une copie d'un objet au lieu d'une référence :
// Référence (les deux variables pointent vers le même objet)
const obj1 = {key1: "123"}
const obj2 = obj1
obj1.key1 = "456"
console.log(obj2.key1) // Sortie : "456"// Copie utilisant l'opérateur de décomposition
const obj1 = {key1: "123"}
const obj2 = {...obj1}
obj1.key1 = "456"
console.log(obj2.key1) // Sortie : "123"L'opérateur de décomposition copie toutes les propriétés énumérables de l'objet source dans un nouvel objet.
Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Les chaînes de caractères en profondeur
Fondamentaux des chaînesParcourir les chaînesTemplate LiteralsMéthodes des chaînesRécapitulatif - String Weaver4JSON Partie 2
Itérer sur du JSONJSON imbriquéChaînage optionnel JSONCopie superficielle et profondeRécapitulatif - Magasin de vélosRécapitulatif - Système solaire7Système de gestion de bibliothèque
Présentation du projetAjouter des livres2Tableaux multidimensionnels
Bases des tableaux 2DAccès aux éléments d'un tableau 2DBoucles imbriquées et tableaux 2DRécapitulatif - Tableaux 2DAddition et soustraction de matricesTableaux irréguliers (Jagged Arrays)Tableaux 3D et au-delàModèles courants de tableaux 2DRécapitulatif - Tout sur les tableaux3JSON Partie 1
Qu'est-ce qu'un JSON ?Vérifier si une clé existeMéthodes d'objetL'opérateur Spread Partie 1L'opérateur Spread Partie 2Supprimer des clésRécapitulatif - Manipuler les clés JSON