首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对象拆包赋值操作?

对象拆包赋值操作?
EN

Stack Overflow用户
提问于 2021-12-03 19:36:15
回答 3查看 30关注 0票数 3

在JavaScript中有这样的东西吗?基本上,我在寻找这样的东西:

代码语言:javascript
运行
复制
let obj_a = {test: "one", property: "two"};
let obj_b = {test: "1", other: "three"};
let obj_b ...= obj_a; // would be the equivalent of obj_b = {...obj_b, ...obj_a}

有没有类似的内置语法,或者这是我在ES6中能得到的最好的语法吗?

EN

回答 3

Stack Overflow用户

发布于 2021-12-03 19:38:37

Object.assign就行了。

代码语言:javascript
运行
复制
let obj_a = { test: "one", property: "two" },
    obj_b = { test: "1", other: "three" };

Object.assign(obj_b, obj_a);

console.log(obj_b);

票数 3
EN

Stack Overflow用户

发布于 2021-12-03 19:45:02

我不认为存在这样的语法,但是如果你需要经常使用这样的东西,你可以用一个实用函数来修补Object类:

代码语言:javascript
运行
复制
Object.prototype.merge = function(x) { Object.assign(this, x) }
let obj_a = {test: "one", property: "two"};
obj_a.merge({test: "1", other: "three"});
console.log(obj_a);

票数 0
EN

Stack Overflow用户

发布于 2021-12-03 20:02:45

另一种选择是使用Object.assign,它不是运算符,但它可以完成工作:

代码语言:javascript
运行
复制
Object.assign(obj_b, obj_a)
// {test: 'one', other: 'three', property: 'two'}

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign

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

https://stackoverflow.com/questions/70219827

复制
相关文章

相似问题

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