说到 javascript 中的对象拷贝,首先我们想到的是 Object.assign() , JSON.parse(JSON.stringify()) , 还有 ES6 的展开操作符[... ]
因为在...value: 3,
enumerable: true,
},
});
var z = Object.assign({}, y);
console.log(z); //{c:3}
拿到 z 的值很让人意外...,因为 x 是 y 的原型链,所以 x 不会被复制
属性 b 是不可枚举属性,也不会被复制
只有 c 具有可枚举描述,他可以被枚举,所以才能被复制
以上的坑也可以很好的被解决,且往下看:
深拷贝 JSON.parse...(JSON.stringify())
解决浅拷贝的坑
var x = {
a: 1,
b: 2,
c: {
d: 3,
},
};
y = JSON.parse(JSON.stringify...at JSON.stringify ()
at :8:25
*/
报错了,其结果表明 JSON.parse(JSON.stringify()) ,