假设我有这个功能:
const testFunction = () => {
const item_one = 1
const item_two = 2
return { item_one, item_two }
}
Run Code Online (Sandbox Code Playgroud)
当我像这样解构该函数的返回值时
let item_one, item_two; // the variables are defined elsewhere
{ item_one, item_two } = testFunction() // <-- Syntax error: Unexpected token "="
Run Code Online (Sandbox Code Playgroud)
我收到语法错误。
相反,当我在做的时候
1)
let { item_one, item_two } = testFunction() // not suitable since I need to reassign
Run Code Online (Sandbox Code Playgroud)
或者
2)
let item_one, item_two;
({ item_one, item_two } = testFunction())
Run Code Online (Sandbox Code Playgroud)
代码按预期执行。
有人可以解释为什么我需要在 2. 中的赋值周围加上括号以及为什么会出现语法错误吗?
谢谢!