有时候,我们需要将一个对象的所有属性,拷贝到另一个对象,可以用下面的方法实现。
上面这个方法的问题在于,如果遇到存取器定义的属性,会只拷贝值。
为了解决这个问题,我们可以通过Object.defineProperty
方法来拷贝属性。
上面代码中,hasOwnProperty
那一行用来过滤掉继承的属性,否则可能会报错,因为Object.getOwnPropertyDescriptor
读不到继承属性的属性描述对象。
Serena_tz 博主文章分类:javascript
文章标签 javascript js 文章分类 运维
有时候,我们需要将一个对象的所有属性,拷贝到另一个对象,可以用下面的方法实现。
上面这个方法的问题在于,如果遇到存取器定义的属性,会只拷贝值。
为了解决这个问题,我们可以通过Object.defineProperty
方法来拷贝属性。
上面代码中,hasOwnProperty
那一行用来过滤掉继承的属性,否则可能会报错,因为Object.getOwnPropertyDescriptor
读不到继承属性的属性描述对象。
下一篇:上班使用浏览器摸鱼快捷键
Object-c 的深拷贝和浅拷贝
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M