Javascript 使用带对象解构赋值的扩展

Javascript 使用带对象解构赋值的扩展,javascript,ecmascript-6,Javascript,Ecmascript 6,给出了下面的示例,为什么我不能使用与的组合 预期结果:1 实际结果:未捕获的语法错误:意外标记 编辑:分解上述内容,使函数执行分开 没有区别: let obj2Array = Object.keys(myObj); let {...obj2Array} = myObj; 仍然会导致SyntaxError:Unexpected token…除了扩展语法仅适用于ES6中的数组外,您希望如何分配给Object.keys(myObj)?!这是一个函数调用,而不是标识符。函数调用不能是解构分配目标的一

给出了下面的示例,为什么我不能使用与的组合

预期结果:1

实际结果:未捕获的语法错误:意外标记

编辑:分解上述内容,使函数执行分开 没有区别:

let obj2Array = Object.keys(myObj);

let {...obj2Array} = myObj;

仍然会导致
SyntaxError:Unexpected token…

除了扩展语法仅适用于ES6中的数组外,您希望如何分配给
Object.keys(myObj)
?!这是一个函数调用,而不是标识符。函数调用不能是解构分配目标的一部分。这本质上是变量,Javascript不支持。理由很充分,因为这是个坏主意。这似乎是个XY问题。你的实际问题应该是重复的,我想
…x
在解构作业中已经有了意义。它用于指示应将所有剩余元素(或对象rest属性方案中的属性)分配给该变量。它是一个rest元素/属性,基本上与spread相反。它不能同时具有两种不同的行为。
let obj2Array = Object.keys(myObj);

let {...obj2Array} = myObj;