Middle
Quelles méthodes de clonage d'objets connais-tu?
sobes.tech IA
Réponse de l'IA
Il existe plusieurs façons de cloner des objets en JavaScript:
-
Copie superficielle (shallow copy) — ne copie que le niveau supérieur des propriétés, les objets imbriqués restent des références.
- Utilisation de
Object.assign():const clone = Object.assign({}, original); - Opérateur de décomposition:
const clone = {...original};
- Utilisation de
-
Copie profonde (deep copy) — crée une copie complète de l'objet avec tous les objets imbriqués.
- Sérialisation et désérialisation via JSON (ne fonctionne qu'avec des objets simples sans fonctions, dates, etc.):
const deepClone = JSON.parse(JSON.stringify(original)); - Utilisation de bibliothèques spécialisées, par exemple
lodash:const _ = require('lodash'); const deepClone = _.cloneDeep(original);
- Sérialisation et désérialisation via JSON (ne fonctionne qu'avec des objets simples sans fonctions, dates, etc.):
-
Implémentation d'une méthode de clonage personnalisée — si l'objet contient des méthodes ou des types complexes, on peut implémenter une méthode
clone()dans la classe.
Le choix de la méthode dépend de la structure de l'objet et des exigences de copie. Pour des objets simples, une copie superficielle suffit, pour des objets complexes, une copie profonde.