javascript - 为什么javascript对象解构不起作用?
问题描述
我试图在javascript中解构一个对象,如下所示
示例 #1
var a, b
var hello = {
a: 1,
b: 3
}
({a, b} = hello);
console.log(a);
如果你点击运行代码片段,你会遇到
{“消息”:“未捕获的类型错误:无法解构 'hello' 的属性 'a',因为它未定义。”,“文件名”:“ https://stacksnippets.net/js ”,“lineno”:18,“colno “:3}
示例 #2
var a, b
var hello = {
a: 1,
b: 3
}
console.log(hello);
({a, b} = hello);
console.log(a);
console.log(hello);
,现在解构工作正常。
所以有两个问题
- 在示例 #1 中,为什么它说
hello
未声明,因为它是在解构之前声明的? - 在示例#2中,为什么它只是在解构
console.log(hello)
之前添加?
解决方案
推荐阅读
- scala - 不使用 collect() 从 spark 数据帧返回 Array[String] 的有效方法
- javascript - Jquery:在 li mouseenter 上查找最近的 Div
- mapserver - 在自己的服务器上构建/安装 MapServer
- c# - Newtonsoft.Json.JsonConvert.DeserializeObject 到字符串错误
- css - 带 CSS 的圆圈(边框,仅轮廓)
- java - 运行 .wav 音频时显示运行时错误
- c# - 客户端 Blazor + Service Worker -> 在客户端显示进度
- reactjs - 无效的钩子调用。Hooks 只能在函数组件的主体内部调用
- php - 更改子类中的参数和返回类型是否意味着违反 SOLID 设计原则?
- snowflake-cloud-data-platform - 雪花中 Snowsight 中的向下钻取选项