我刚刚遇到这个概念
var copy = Object.assign({}, originalObject);
这将原始对象的副本创建到“copy
但是,我的问题是,这种克隆对象的方式会创建深拷贝还是浅拷贝?
PS:令人困惑的是,如果它创建深层副本,那么这将是克隆对象的最简单方法。
忘记深复制,即使浅复制也不安全,如果您要复制的对象具有以下属性enumerable
属性设置为 false。
MDN :
Object.assign() 方法仅复制可枚举的属性和自己的属性
从源对象到目标对象
拿这个例子
var o = {};
Object.defineProperty(o,'x',{enumerable: false,value : 15});
var ob={};
Object.assign(ob,o);
console.log(o.x); // 15
console.log(ob.x); // undefined
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)