js的assign方法的用法是什么?一起了解一下吧!
assign( )方法,用于将所有可枚举的属性的值从一个或多个源对象复制到目标对象,它将返回目标对象。在考虑对象复制时,用assign( )方法,将源对象属性拷贝到目标对象, 创建一个新的对象,在空对象上做操作,可以避免直接赋值后,对象之间的相互影响。
语法:
Object.assign(target, ...sources)
参数:
target: 目标对象
sources: 源对象
示例:
const object1 = { a: 1, b: 2, c: 3 }; const object2 = Object.assign({c: 4, d: 5}, object1); console.log(object2.c, object2.d); // expected output: 3 5
如果目标对象中的属性具有相同的键,则属性将被源中的属性覆盖。后来的源的属性将类似地覆盖早先的属性。Object.assign 方法只会拷贝源对象自身的并且可枚举的属性到目标对象。该方法使用源对象的[[Get]]和目标对象的[[Set]],所以它会调用相关 getter 和 setter。因此,它分配属性,而不仅仅是复制或定义新的属性。如果合并源包含getter,这可能使其不适合将新属性合并到原型中。为了将属性定义(包括其可枚举性)复制到原型,应使用Object.getOwnPropertyDescriptor()和Object.defineProperty() 。
以上就是小编收集整理出来的,望能够帮助到大家。
本站声明:本站部分文章来自网络,由用户上传分享,如若内容侵犯了您的合法权益,可联系我们进行处理。文章仅供大家学习与参考,不**本站立场。