由于对象键是字符串,因此它们可以包含任何类型的字符和特殊字符。我最近偶然发现了一个从API调用中收到的对象。这个对象有' - '用它的关键名称。
const object = {
"key-with-dash": []
}
在这种情况下,解构不起作用,因为key-with-dash
不是有效的变量名。
const { key-with-dash } = object;
所以我想到了一个问题。在这种情况下,我该如何解构物体呢?甚至可能吗?
答案 0 :(得分:64)
const data = {
"key-with-dash": ["BAZ"]
}
const {"key-with-dash": foo} = data;
console.log("foo", foo);
答案 1 :(得分:30)
只需给它一个有效的名字
let object = { 'key-with-dash': [] }
let {'key-with-dash':y} = object
console.log(y)
// => []
您是否也知道可以使用变量进行结构化?
let object = { 'key-with-dash': [] }
let key = 'key-with-dash'
let {[key]:y} = object
console.log(y)
// => []
答案 2 :(得分:0)
各位开发者,大家好, 如果上述方法均无效,我发现可以突破此错误。
遵循此代码
<i>const anyVar = yourData["data-example"] </i>
希望这对您有用,如果您有任何问题,请向我提问。
PS:我知道这是一个老问题,但我遇到了一个问题,所以我认为有些人可能也会遇到这个问题。所以这就是我发布这个的原因。