首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Object.assign与赋值(=)

Object.assign与赋值(=)
EN

Stack Overflow用户
提问于 2021-07-25 08:27:26
回答 1查看 561关注 0票数 2

我正在尝试创建一个对象的实例。面对Object.assign(),我有点困惑。以下两个代码有什么区别?

代码语言:javascript
复制
const obj3 = Object.assign(obj2, obj1);

以及:

代码语言:javascript
复制
let obj2: model;
obj2= obj1;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-25 08:30:18

赋值只创建对内存中完全相同对象的另一个引用。如果赋值,则通过引用一个变量名进行更改,另一个变量名也会更改,因为它们是相同的。

Object.assign将为第一个参数分配第二个(和进一步的)参数的所有可枚举的自身属性,并返回第一个参数。所以

代码语言:javascript
复制
const obj3 = Object.assign(obj2, obj1);

有点像

代码语言:javascript
复制
for (const prop in obj1) {
  obj2[prop] = obj1[prop]
}
obj3 = obj2;

(使用普通对象-跳过自己的方面)

他们很不一样。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68516821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档