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