const a = {x: "Hi", y: "Test"}
const b = ???
// b = {x: "Bye", y: "Test"}
// a = {x: "Hi", y: "Test"}

如何在不更改a的情况下将x设置为“再见”?

最佳答案

两种方式...

  • 您可以使用 Object.assign :

    const a = { x: "Hi", y: "Test" }
    const b = Object.assign({}, a, { x: "Bye" });
    console.log(b);

  • 或者您可以使用object spread operator

    传播运算符使您可以将一个对象的所有属性“分配”给另一个对象。

    我们可以在对象文字中使用它来将a的所有属性分配给b:

    const additions = { x: "Bye" }
    const a = { x: "Hi", y: "Test" }
    const b = { ...a,  ...additions }
    console.log(b);

  • 关于javascript - 如何在不更改对象的情况下更改其属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37932434/

    10-16 19:50