Как разрушить свойства объекта с именами ключей, которые являются недопустимыми именами переменных?

Поскольку объектные ключи представляют собой строки, они могут содержать любые символы и специальные символы. Недавно я наткнулся на объект, который я получаю от вызова API. Этот объект имеет "-" в нем имена ключей.

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

Деструктурирование не работает в этом случае, потому что key-with-dash не является допустимым именем переменной.

const { key-with-dash } = object;

Итак, на мой вопрос пришел один вопрос. Как я должен разрушить объект в таких случаях? Возможно ли это вообще?

Ответы

Ответ 1

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

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

console.log("foo", foo);

Ответ 2

Просто укажите его действительное имя

let object = { 'key-with-dash': [] }
let {'key-with-dash':y} = object
console.log(y)
// => []