objets réguliers peuvent être clonés en utilisant cette méthode:JavaScript Object.assign ne fonctionne pas sur l'objet Date
a = {x:9}; //sample
b = Object.assign(Object.create(a),a);
console.log(a);
console.log(b);
Cependant, les variables de type Date ne semblent pas travailler avec Object.assign et Object.create:
a = new Date();
b = Object.assign(Object.create(a),a);
console.log(a);
console.log(b);
/*
Results of printing a, b are not the same:
a:
Thu Oct 20 2016 11:17:29 GMT+0700 (SE Asia Standard Time)
b:
Date {}
*/
Je sais que je peux créer un clone de date objet d'une autre manière en utilisant
b = new Date(a)
Mais pourquoi Obje ct.assign et Object.create ne fonctionnent pas sur le type Date?
Qu'est-ce qui vous attend? Quelles propriétés de l'objet Date source pensez-vous être copié? – Pointy
toutes ses propriétés – johnlowvale
Bien, il ** copie ** sur toutes les propriétés * enumerable * et * own *. C'est juste qu'une instance de Date n'en a pas. – Pointy