Javascript 拾取对象属性的速记-将ES6“对象解构”与“对象属性值”速记结合起来

Javascript 拾取对象属性的速记-将ES6“对象解构”与“对象属性值”速记结合起来,javascript,ecmascript-6,Javascript,Ecmascript 6,下面的代码输出{name:“Bob”,姓氏:“Smith”},它工作正常。我想知道我能不能把它改短一点 ((person = { name: 'Bob', surname: 'Smith', age: 22, }) => { const { name, // (a) create variable from deconstructing surname, } = person; return { name, // (

下面的代码输出
{name:“Bob”,姓氏:“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)
,并返回一个对象属性值为shorthand的新对象
(b)


我在这里使用速记,但是由于需要手动重复使用参数,所以它的用途被破坏了。我想在我的函数中提到
名称
姓氏
一次而不是两次…

在函数声明中解构

const result=({name,姓氏}={name:'Bob',姓氏:'Smith',年龄:22,})=>({
名称,//(b)将变量重新用作新的对象参数名称(和值)
姓
}))();

控制台日志(结果)在函数声明中分解
人员

const result=({name,姓氏}={name:'Bob',姓氏:'Smith',年龄:22,})=>({
名称,//(b)将变量重新用作新的对象参数名称(和值)
姓
}))();

控制台日志(结果)你一点也不能提及它


((person = { name: 'Bob', surname: 'Smith', age: 22, }) => {
    const {age,...ans} = person;
   return ans
})()



你一点也不能提


((person = { name: 'Bob', surname: 'Smith', age: 22, }) => {
    const {age,...ans} = person;
   return ans
})()



那是什么魔法?请解释:
ans
关键字是什么?似乎是错误的,如果我有更多的参数,我想摆脱它返回到:
((person={me:false,name:'Bob',姓氏:'Smith',age:22,})=>{const{age,…ans}=person;return ans})(
>{me:false,name:'Bob',姓氏:'Smith
其中
我是不期望的,只需在年龄之后添加我即可。Ans只是一个变量名。你可以随便叫它那是什么魔法?请解释:
ans
关键字是什么?似乎是错误的,如果我有更多的参数,我想摆脱它返回到:
((person={me:false,name:'Bob',姓氏:'Smith',age:22,})=>{const{age,…ans}=person;return ans})(
>{me:false,name:'Bob',姓氏:'Smith
其中
我是不期望的,只需在年龄之后添加我即可。Ans只是一个变量名。你可以随便叫它什么