如何使用无效变量名的键名解构对象属性?

How to destructure object properties with key names that are invalid variable names?

由于对象键是字符串,因此它们可以包含任何类型的字符和特殊字符。我最近偶然发现了一个从 API 调用中收到的对象。此对象的键名中有“-”。

const object = {
   "key-with-dash": []
}

解构在这种情况下不起作用,因为 key-with-dash 不是有效的变量名。

const { key-with-dash } = object;

所以我想到了一个问题。在这种情况下我应该如何破坏对象?有可能吗?

const data = {
   "key-with-dash": ["BAZ"]
}

const {"key-with-dash": foo} = data;

console.log("foo", foo);

只要给它一个有效的名字

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)
// => []

各位开发者大家好, 如果上述工作 none,我已经找到突破这个错误的方法。

  1. 遵循此代码

    <i>const anyVar = yourData["data-example"] </i>
    
  2. 希望这对你有用如果你有任何问题请问我。

P.S:我知道这是一个老问题,但我遇到了一个问题,所以我认为有些人可能也会遇到这个问题。所以这就是我发布这个的原因。