2016-12-01 95 views
0

基本上我想看看我能做到这一点:解构函数参数时可以创建一个对象吗?

var state = { 
    lastMessage: { 
    owner: 'lastMessageOwnerID' 
    }, 
    owner: 'currentMessageOwnerID' 
} 

function isSameMessageOwner ({ lastMessage, owner: currentMessage: { owner } }) { 
    return lastMessage.owner === currentMessage.owner 
} 

var isSameOwner = isSameMessageOwner(state) 

我不认为你可以,但只是检查:)

+0

该语法不对。 – Pointy

+0

我不明白。你想创建什么对象? – 2016-12-01 18:02:18

+0

@torazaburo我想创建'currentMessage'对象,以便函数内部可以使用'currentMessage.owner' –

回答

1

可以解构函数参数当你创建一个对象?

编号解构仅允许您将现有值分配给变量。它不允许你创建新值。

0

你的意思呢?我在解构深层嵌套对象方面徘徊不前,我认为这很难阅读,但也许随着时间的推移它会变得更好。

var state = { 
 
    lastMessage: { 
 
    owner: 'lastMessageOwnerID' 
 
    }, 
 
    owner: 'currentMessageOwnerID' 
 
} 
 

 
function isSameMessageOwner ({ 
 
    lastMessage: { owner: lastMessage }, 
 
    owner: currentMessage 
 
}) { 
 
    return lastMessage === currentMessage 
 
} 
 

 
var isSameOwner = isSameMessageOwner(state) 
 

 
console.log(isSameOwner)

相关问题