Javascript 如何从阵列中解构密钥(ES6)

Javascript 如何从阵列中解构密钥(ES6),javascript,ecmascript-6,Javascript,Ecmascript 6,我们只是凭直觉编写了这段代码,它成功了。我很确定这是可以接受的。我只想确保: const state={inProgress:true} const actions='COMPLETE_RICE' const change={inProgress:false,rice'cooked'} //这种解构可以吗? 常数{ 0:newState, 1:新行动, 2:新变化, }=[状态、操作、更改] console.log('newState:',newState) console.log('newA

我们只是凭直觉编写了这段代码,它成功了。我很确定这是可以接受的。我只想确保:

const state={inProgress:true}
const actions='COMPLETE_RICE'
const change={inProgress:false,rice'cooked'}
//这种解构可以吗?
常数{
0:newState,
1:新行动,
2:新变化,
}=[状态、操作、更改]
console.log('newState:',newState)
console.log('newActions:',newActions)

console.log('newChange:',newChange)
使用以下命令,而不是将数组分解为对象:

const state={inProgress:true}
const actions='COMPLETE_RICE'
const change={inProgress:false,rice'cooked'}
const[newState,newActions,newChange]=[state,actions,change]
console.log('newState:',newState)
console.log('newActions:',newActions)

log('newChange:',newChange)
您可以使用一个数组来创建。这里不需要索引,因为数组给出了顺序

const state={inProgress:true}
const actions='COMPLETE_RICE'
const change={inProgress:false,rice'cooked'}
//这种解构可以吗?
const[newState,newActions,newChange]=[state,actions,change];
console.log('newState:',newState)
console.log('newActions:',newActions)

log('newChange:',newChange)
它确实可以工作,但最终结果不会继承数组原型函数,所以为什么不使用简单数组来分解结构呢
const[newState,newActions,newChange]=[state,actions,change]
您可以使用object提取这样的变量。结果将与使用
const[newState,newActions,newChange]=[state,actions,change]
相同,但像您这样使用对象并不太好。它会起作用,但为什么要用奇怪的方式:)