web-dev-qa-db-ja.com

無効な変数名であるキー名でオブジェクトプロパティを分解する方法は?

オブジェクトキーは文字列なので、あらゆる種類の文字や特殊文字を含めることができます。最近、API呼び出しから受け取ったオブジェクトを見つけました。このオブジェクトのキー名には「-」が含まれています。

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

この場合、key-with-dashは有効な変数名ではありません。

const { key-with-dash } = object;

そこで、ある質問が私の頭に浮かびました。そのような場合、オブジェクトをどのように分解するのですか?まったく可能ですか?

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

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

console.log("foo", foo);
65
Hitmands

有効な名前を付けてください

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