JavaScript : rendre le Web interactif (école d'ingénieur) · Chapitre 5 · Application directe du cours
Copie ou référence ?
Tableaux et objets · niveau 2
Énoncé
Qu'affiche ce programme ? Justifier chaque valeur, puis proposer une ligne qui rende la copie entièrement indépendante.
const original = { titre: "Java", auteurs: ["Alame"], stock: 3 };
const copie = { ...original };
copie.stock = 0;
copie.auteurs.push("Dupont");
copie.titre = "Java 2";
console.log(original);
console.log(original.auteurs === copie.auteurs);Corrigé
{ titre: 'Java', auteurs: [ 'Alame', 'Dupont' ], stock: 3 }
true
La décomposition copie les valeurs des propriétés. stock et titre sont des valeurs primitives : les changer dans la copie ne touche pas l'original, qui garde 3 et "Java". auteurs contient une référence : les deux objets partagent le même tableau, et le push se voit des deux côtés, d'où true. Pour une copie indépendante : const copie = structuredClone(original);.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.