javascript - 为什么解构赋值需要括号?
问题描述
假设我有这个功能:
const testFunction = () => {
const item_one = 1
const item_two = 2
return { item_one, item_two }
}
当我像这样解构这个函数的返回值时
let item_one, item_two; // the variables are defined elsewhere
{ item_one, item_two } = testFunction() // <-- Syntax error: Unexpected token "="
我收到语法错误。
相反,当我在做
1)
let { item_one, item_two } = testFunction() // not suitable since I need to reassign
或者
2)
let item_one, item_two;
({ item_one, item_two } = testFunction())
代码按预期执行。
有人可以解释为什么我需要在 2. 中的赋值周围加上括号,为什么会出现语法错误?
谢谢!
解决方案
推荐阅读
- google-apps-script - GAS:每当共享文件时触发电子邮件
- flutter - Flutter - 尝试将从 JSON 获取的推文列表显示到 ListView
- pandas - 在 pandas 中使用 groupby 作为日期时间值
- ruby - 有没有办法编写一个匹配除文件夹中的所有文件之外的所有文件的全局模式?
- linux - 在 gdb 中为没有调试符号的应用程序调用系统命令
- php - PHP ZipArchive 从 XML 中去除标签
- docker - Traefik v2.5 未重定向到搬运工容器。404 未找到
- reactjs - 如何在 React JS 中的 String 组件中插入换行符?
- python - 如何在 Python 中创建相反的字符串?
- node.js - 我应该使用一个或多个全局错误处理程序中间件还是在 Express 中手动发送错误响应?