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
- Extrais
nometjeudepersonnageavec le destructuring - Crée une copie indépendante avec le spread
{...}(l'original doit garder 100 pv) - Fusionne
personnageetbonusdans un nouvel objethero
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é