2016-12-01 8 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

私は分かりません。どのようなオブジェクトを作成しようとしていますか? –

+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)

関連する問題