typescript - Desestructuración de objetos con nombres de propiedad que no son nombres de variable válidos
ecmascript-6 destructuring (2)
¿Alguien sabe si puede usar la desestructuración de objetos con espacios en el nombre de la propiedad? Tal vez esto no se pueda hacer y me doy cuenta de que la notación de JavaScript es incorrecta, pero no puedo cambiar la respuesta json del servidor.
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 sintaxis como ''como'' ...
var {''my name'' as name, age} = obj2; //name=''Mr Jones'';
Gracias
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 puede asignar solo identificadores (nombres de variables). Como esos no permiten espacios, no puede usar la sintaxis abreviada donde el nombre de propiedad y el identificador son iguales.
Sería bueno si pudiera asignar la variable con algún tipo de sintaxis como ''como'':
var {''my name'' as name, age} = obj2;
as
es para el módulo de importación / exportación.
Para objetos normales, tanto literales como de desestructuración, utiliza los dos puntos:
var {''my name'': name, age} = obj2;
Puede asignarle un nombre de variable válido utilizando esta sintaxis:
var {"my name": myName, age} = obj2;
// use myName here