Méthode Object.assign

La méthode Object.assign copie les propriétés et les valeurs de l'objet source, en renvoyant un nouvel objet. Dans le premier paramètre de la méthode nous définissons l'objet cible dans lequel nous copions, et dans le second - nous spécifions les objets à copier.

Syntaxe

javascriptObject.assign(où copier, objets);

Exemple

Obtenons un nouvel objet à partir de l'objet source :

javascriptlet obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);

Résultat de l'exécution du code :

javascript{a: 1, b: 2, c: 3}

Exemple

Maintenant, obtenons un nouvel objet à partir de plusieurs objets sources, en les énumérant dans le paramètre séparés par des virgules :

javascriptlet obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};

let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);

Après l'exécution du code, nous verrons que les deux objets sources ont fusionné en un seul nouvel objet :

javascript{a: 1, b: 2, c: 3, d: 4}

Exemple

La méthode Object.assign peut également être utilisée pour obtenir un nouveau tableau, puisqu'un tableau est également de type objet. Créons un nouveau tableau en copiant les éléments de l'objet source :

javascriptlet arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);

console.log(newArr);

Résultat de l'exécution du code :

javascript[1, 2, 3, 4]

Exemple

Lors de l'utilisation de la méthode Object.assign, il faut veiller attentivement à la syntaxe. Par exemple, si vous n'ajoutez pas l'objet cible dans le premier paramètre, mais laissez seulement l'objet à copier, ce dernier sera simplement renvoyé :

javascriptlet obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);

console.log(newObj === obj);

Résultat de l'exécution du code :

javascripttrue

Voir aussi

  • la méthode Object.keys,
    qui renvoie un tableau des propriétés d'un objet
  • la méthode Object.values,
    qui renvoie un tableau des valeurs d'un objet