javascript - 使用 ES6 解构简化 javascript 对象的创建

标签 javascript ecmascript-6 destructuring

有没有一种方法可以使用解构来简化用户对象的更新,我有一个旧对象,我想更新到具有相同属性名称的新对象。

我想使用相同的用户对象并更新值而不是创建新对象。

function UpdateUserProps(user, updatedUser) {
    const { email, status } = updatedUser;
    user.email = email;
    user.status = status;
    return user;
}

最佳答案

您可以在对象中使用扩展语法 ...。这将创建一个新对象。

function UpdateUserProps(user, updatedUser) {
  return {...user, ...updatedUser}
}

您还可以使用参数解构从更新对象中获取特定属性。

function UpdateUserProps(user, {email, status}) {
  return {...user, ...{email, status}}
}

let user = {
  name: "foo",
  email: "foo",
  status: true
}

console.log(UpdateUserProps(user, {
  email: "bar",
  status: false
}))

关于javascript - 使用 ES6 解构简化 javascript 对象的创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52076041/

相关文章:

JavaScript:将 <div> 元素移到列中 2 个元素之后的右侧

javascript - 从对象数组创建树状 json 对象

javascript - 打印两个值而不解构

javascript - 在 goBack() react 路由器 v4 之前检查历史记录之前的位置

javascript - 在 JavaScript ES2015 中,在扩展一个类时,我们是否需要显式地创建一个新的构造函数,还是可以直接使用父类的构造函数?

lisp - 在解构绑定(bind)中声明未使用变量的任何好方法?

javascript - Parse.com CloudCode 中的解构赋值

Javascript:在 For 循环中创建函数

javascript - 如何在开始时将 react 可拖动元素居中? (模态,div)

javascript - 如何在 ES5 中使用转译后的 ES6?