Destructuración de objetos con nombres de propiedad que no son nombres de variable válidos

¿Alguien sabe si puede usar la desestructuración de objetos con espacios en el nombre de la propiedad? Tal vez esto no se puede hacer y me doy cuenta de que la notación de JavaScript es incorrecta, pero no puedo cambiar la respuesta del servidor JSON.

var obj1 = {name: 'Mr Smith', age: 21}; //destructure var {name, age} = obj1; //name='Mr Smith' and age=21 

Esto funciona como se esperaba

Pero cuando tengo la siguiente estructura de objetos, ¿puedo usar la desestructuración de objetos o no?

 var obj2 = {"my name": "Mr Jones", age: 22}; var {'my name', age} = obj2; 

Si esto no es posible, sería bueno si pudiera asignar la variable con algún tipo de syntax como ‘como’ …

 var {'my name' as name, age} = obj2; //name='Mr Jones'; 

Gracias

Puede asignarle un nombre de variable válido usando esta syntax:

 var {"my name": myName, age} = obj2; // use myName here 

Cuando tengo un objeto con espacios en el nombre de la propiedad, ¿puedo usar la desestructuración de objetos o no?

Sí, puede usar la desestructuración, pero siempre solo puede asignar identificadores (nombres de variables). Como esos no permiten espacios, no puede usar la syntax abreviada donde el nombre de la propiedad y el identificador son los mismos.

Sería bueno si pudiera asignar la variable con algún tipo de syntax como ‘como’:

 var {'my name' as name, age} = obj2; 

as es para las importaciones / exportaciones de módulos. Para objetos normales, tanto literales como desestructurados, usa los dos puntos:

 var {'my name': name, age} = obj2; 
    Intereting Posts