77 votes

Comment déstructurer des propriétés d'objet avec des noms de clé non valides?

Comme les clés d’objet sont des chaînes, elles peuvent contenir n’importe quel type de caractères et de caractères spéciaux. Je suis récemment tombé sur un objet que je reçois d'un appel API. Cet objet a '-' dans ses noms de clé.

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

La destruction ne fonctionne pas dans ce cas car key-with-dash n'est pas un nom de variable valide.

 const { key-with-dash } = object;
 

Alors une question m’est venue à l’esprit. Comment suis-je censé déstructurer l'objet dans de tels cas? Est-ce même possible?

116voto

Hitmands Points 1199

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

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

console.log("foo", foo);

43voto

naomik Points 10423

Juste lui donner un nom valide

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

Saviez-vous également que vous pouvez se déstructurent avec les variables?

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X