通过解构为新对象赋值

时间:2018-03-12 08:11:29

标签: javascript object ecmascript-6

如何通过解构分配给Object?例如

let parameter = {id : 10, username : 'john'}
let obj = {}
({id : obj.iduser, username : obj.user} = parameter)

预期:

{iduser : 10, user : 'John'}

但是,我收到了一个错误:

ReferenceError: obj is not defined

参考:Exploring.JS - ES6 [ #10 - Destructuring ]

2 个答案:

答案 0 :(得分:3)

用分号终止let obj = {}行解决了这个问题:



let parameter = {id : 10, username : 'john'};
let obj = {};
({id : obj.iduser, username : obj.user} = parameter);
console.log(obj);




答案 1 :(得分:1)

您可以先停止使用,并为新对象使用速记属性。



let parameter = { id : 10, username : 'john' },
    { id: iduser, username: user } = parameter,
    obj = { iduser, user };
    
console.log(obj);