Search code examples
javascriptecmascript-6destructuring

How can I destructure object properties with key names that are invalid variable names?


As object keys are strings, they can contain any kind of characters and special characters. I recently stumbled upon an object which I receive from an API call. This object has '-' in it's key names.

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

Destructuring does not work in this case, because key-with-dash is not a valid variable name.

const { key-with-dash } = object;

How am I supposed to destructure the object in such cases? Is it even possible at all?


Solution

  • const data = {
       "key-with-dash": ["BAZ"]
    }
    
    const {"key-with-dash": foo} = data;
    
    console.log("foo", foo);