Как деструктировать свойства объектов с именами ключей, которые являются недопустимыми именами переменных?
Поскольку ключи объектов являются строками, они могут содержать любые символы и специальные символы. Недавно я наткнулся на объект, который я получаю от вызова API. Этот объект имеет " - " в его ключевых именах.
const object = {
"key-with-dash": []
}
Деструктурирование в этом случае не работает, так как key-with-dash
не является допустимым именем переменной.
const { key-with-dash } = object;
Итак, один вопрос пришел мне в голову. Как я должен разрушать объект в таких случаях? Возможно ли это вообще?2 ответа:
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) // => []