JS: Est-Objet.assign () créer une copie profonde ou une copie superficielle

Je viens de tomber sur ce concept de

var copy = Object.assign({}, originalObject);

Qui crée une copie de l'objet original dans le "copy" objet. Cependant, ma question Est la suivante: cette façon de cloner un objet crée-t-elle une copie profonde ou une copie superficielle?

PS: la confusion est, si elle crée une copie profonde, alors ce serait le moyen le plus simple de cloner un objet.

24
demandé sur Shivi 0000-00-00 00:00:00

1 réponses

Oubliez la copie profonde, même la copie superficielle n'est pas sûre, si l'objet que vous copiez a une propriété avec enumerable attribut défini sur false.

MDN:

L'Objet.la méthode assign () ne copie que les propriétés enumerable et own d'un objet source à un objet cible

Prenez cet exemple

var o = {};

Object.defineProperty(o,'x',{
24
répondu