如何在不更改对象的情况下更改其属性? [英] How to change a property on an object without mutating it?
本文介绍了如何在不更改对象的情况下更改其属性?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
const a = {x: "Hi", y: "Test"}
const b = ???
// b = {x: "Bye", y: "Test"}
// a = {x: "Hi", y: "Test"}
如何在不更改a的情况下将 b.x
设置为"Bye"
?
How can I set b.x
to "Bye"
without mutating a?
推荐答案
两种方式...
-
您可以使用
Object.assign
:
const a = { x: "Hi", y: "Test" }
const b = Object.assign({}, a, { x: "Bye" });
console.log(b);
或者您可以使用对象传播运算符.
spread运算符使您可以将一个对象的所有属性分配"给另一对象.
The spread operator allows you to "assign" all properties of one object to another.
我们可以在对象文字中使用它来将 a
的所有属性分配给 b
:
We can use it here within an object literal to assign all properties of a
to b
:
const additions = { x: "Bye" }
const a = { x: "Hi", y: "Test" }
const b = { ...a, ...additions }
console.log(b);
这篇关于如何在不更改对象的情况下更改其属性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文