Object destructuring with property names that are not valid variable names Object destructuring with property names that are not valid variable names typescript typescript

Object destructuring with property names that are not valid variable names


You can assign it a valid variable name using this syntax:

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


When I have an object with spaces in the property name can I use object destructuring or not?

Yes, you can use destructuring, but you can always only assign to identifiers (variable names). As those don't allow spaces, you cannot use the shorthand syntax where property name and identifier are the same.

It would be nice if I could assign the variable with some sort of syntax like 'as':

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

as is for module imports/exports. For normal objects - both literals and destructuring - you use the colon ::

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