Sobes.tech
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:

  1. 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};
      
  2. 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);
      
  3. 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.