首页 > 解决方案 > 选择对象属性的简写 - 结合 ES6 `Object Deconstruction` 和 `Object Property Value` 简写

问题描述

以下代码输出{name: "Bob", surname: "Smith"},它工作正常。我想知道我可以缩短它。

((person = { name: 'Bob', surname: 'Smith', age: 22, }) => {
    const {
        name, // (a) create variable from deconstructing
        surname,
    } = person;

    return {
        name, // (b) reuse variable as new object parameter name (and value)
        surname
    }
})();

我可以以某种方式将对象解构合并到变量(a)并返回一个带有对象属性值简写的新对象(b)吗?

我在这里使用速记,但它的目的因需要手动重用参数而失败。我想在我的函数中提到nameorsurname单词一次而不是两次......

标签: javascriptecmascript-6

解决方案


person函数声明中的解构:

const result = (({ name, surname } = { name: 'Bob', surname: 'Smith', age: 22, }) => ({
  name, // (b) reuse variable as new object parameter name (and value)
  surname
}))();

console.log(result);


推荐阅读