前端Object.assign()函数
  EUSSGZa7OA03 2023年11月02日 67 0

Object.assign()函数是用于将一个或多个源对象的属性复制到目标对象的函数。它的语法如下:

Object.assign(target, ...sources)

其中,target是目标对象,sources是一个或多个源对象。它会将每个源对象中的可枚举属性(不包括继承的属性)复制到目标对象中,并返回目标对象。

可以使用Object.assign()函数进行浅拷贝(shallow copy)操作。这意味着如果源对象中的属性是对象或数组,它们将被引用复制到目标对象中,而不是创建一个新的对象。如果目标对象中存在相同的属性,则源对象的属性将覆盖目标对象的属性。

以下是一个示例:

const target = {};
const source = { foo: 1, bar: 2 };
const result = Object.assign(target, source);

console.log(target); // { foo: 1, bar: 2 }
console.log(result); // { foo: 1, bar: 2 }
console.log(target === result); // true,返回的是目标对象的引用

source.foo = 3;
console.log(target); // { foo: 3, bar: 2 },源对象的改变会影响到目标对象

需要注意的是,Object.assign()函数是浅拷贝,并且它只复制对象自身的属性,不会复制继承的属性,也不会复制对象的原型链上的属性。

另外,Object.assign()函数在应用场景中也经常被用于合并对象,将多个对象合并成一个新的对象。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
EUSSGZa7OA03
作者其他文章 更多