Adloun

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

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →