Retour à la leçonMission
Mission : un panier qui perd ses méthodes
Diagnostiquer pourquoi une instance de classe clonée perd son comportement, et choisir la bonne technique de copie selon le besoin.
Contexte
Un développeur clone une instance de Panier (une classe avec une méthode total()) avant de l'envoyer à un Worker :
js
class Panier {
constructor(articles) { this.articles = articles; }
total() { return this.articles.reduce((s, a) => s + a.prix, 0); }
}
const monPanier = new Panier([{ prix: 10 }, { prix: 25 }]);
const panierClone = structuredClone(monPanier);
panierClone.total(); // TypeError : panierClone.total is not a functionpanierClone.articles contient pourtant bien les deux articles attendus.