我有一个来自 API 响应的对象,如下所示:
{
// ...
customerName: 'Jake',
customerUserName: 'jak3',
customerEmail: 'some@email.com',
// ...
}
我想声明一个名为 apiUser
在我的应用程序中使用的新对象,它看起来像这样:
{
name: 'Jake',
userName: 'jak3',
email: 'some@email.com'
}
我知道我可以这样做Object.assign()
:
let apiUser = {};
Object.assign(apiUser, {
name: response.customerName || 'John Doe', // customerName may be an empty string
userName : response.customerUserName,
email: response.customerEmail
});
最后的问题是:我可以通过对象解构来做到这一点吗?我已经尝试过:
let apiUser = {};
{customerName: apiUser.name, customerUserName: apiUser.userName, customerEmail: apiUser.email} = response;
但是抛出并且SyntaxError: Unexpected token :
有任何正确的语法还是我应该坚持Object.assign()
?请不要忘记“John Doe”条件。