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
Object.assign(où copier, objets);
Exemple
Obtenons un nouvel objet à partir de l'objet source :
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
Résultat de l'exécution du code :
{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 :
let 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 :
{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 :
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
Résultat de l'exécution du code :
[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é :
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
Résultat de l'exécution du code :
true
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