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