Avatar ·

La manière la plus efficace de cloner profondément un objet en JavaScript

Bonjour à tous ! Je suis débutant en JavaScript et j'ai rencontré un problème lors de la copie d'objets. J'ai besoin de créer une copie totalement indépendante d'un objet, afin que les modifications apportées à la copie n'affectent pas l'original. Mais l'affectation normale ne fonctionne pas — la copie fait simplement référence au même objet. Voici un exemple de mon code : ```javascript const original = { name: "Алиса", age: 30, address: { city: "Москва", zip: 101000 }, hobbies: ["чтение", "плавание"] }; // J'essaie de copier const copy = original; copy.name = "Боб"; copy.address.city = "Санкт-Петербург"; console.log(original.name); // "Боб" — oh, ça a changé ! console.log(original.address.city); // "Санкт-Петербург" — ça a aussi changé ! ``` J'ai essayé d'utiliser `Object.assign()` et l'opérateur spread `{...obj}`, mais ils ne créent qu'une copie superficielle. Les objets et tableaux imbriqués restent liés. Par exemple : ```javascript const copy2 = {...original}; copy2.address.city = "Казань"; console.log(original.address