DébutantNon commencé

Exercice 5.11 · 8 min · 0 tentative

Décomposer un objet

🎯 Objectif

Utiliser le destructuring d'objet pour extraire des propriétés et le spread {...} pour copier et fusionner des objets.

📖 Contexte

Destructuring d'objet

Au lieu d'accéder aux propriétés une par une, on les extrait directement :

const user = { nom: "Alice", age: 25, ville: "Genève" }

// ❌ Classique (répétitif)
const nom = user.nom
const age = user.age

// ✅ Destructuring (une seule ligne)
const { nom, age } = user

Les noms des variables doivent correspondre aux noms des propriétés.

Copier un objet avec {...}

Même piège que les tableaux : = ne copie pas, il crée une référence :

const original = { a: 1, b: 2 }

const ref = original       // ⚠️ Même objet !
ref.a = 99
console.log(original.a)    // 99 😱

const copie = { ...original }  // ✅ Vraie copie
copie.a = 99
console.log(original.a)        // 1 ✅

Fusionner des objets

On peut combiner les propriétés de plusieurs objets :

const base = { nom: "Link", pv: 100 }
const equip = { arme: "Épée", bouclier: true }

const hero = { ...base, ...equip }
// { nom: "Link", pv: 100, arme: "Épée", bouclier: true }

Si une propriété existe dans les deux, le dernier gagne :

const a = { x: 1 }
const b = { x: 2 }
const c = { ...a, ...b }  // { x: 2 }

📝 Consigne

  1. Extrais nom et jeu de personnage avec le destructuring
  2. Crée une copie indépendante avec le spread {...} (l'original doit garder 100 pv)
  3. Fusionne personnage et bonus dans un nouvel objet hero

Résultat attendu :

Link - Zelda
Original: 100
Copie: 50
Hero: { nom: Link, jeu: Zelda, ... +3 keys }

Objectifs

  • Destructuring d'objet
  • Copie avec spread
  • L'original reste intact
  • Fusion d'objets

Lis bien les instructions et lance-toi !

Indices (0/3)

Indice 1 verrouillé
Indice 2 verrouillé
Indice 3 verrouillé