小编Igo*_*aru的帖子

为什么解构赋值需要括号?

假设我有这个功能:

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. 中的赋值周围加上括号以及为什么会出现语法错误吗?

谢谢!

javascript object destructuring

6
推荐指数
0
解决办法
1709
查看次数

标签 统计

destructuring ×1

javascript ×1

object ×1