首页 > 解决方案 > 为什么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. 在示例 #1 中,为什么它说hello未声明,因为它是在解构之前声明的?
  2. 在示例#2中,为什么它只是在解构console.log(hello)之前添加?

标签: javascriptobjectdestructuring

解决方案


推荐阅读