你能在解构函数参数时创建一个对象吗?

Can you create an object when destructuring function arguments?

基本上我想看看我是否能做到这一点:

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

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

var isSameOwner = isSameMessageOwner(state)

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

你是这个意思吗?我对解构深层嵌套的对象持观望态度,我认为它很难阅读,但也许随着时间的推移它会变得更好。

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

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

var isSameOwner = isSameMessageOwner(state)

console.log(isSameOwner)

Can you create an object when destructuring function arguments?

没有。解构只允许您将现有值分配给变量。它不允许您创建 新值。