Destructure into an existing array
This one's got my head spinning. Let's say you have an existing array:
const fruits = ['banana', 'apple', 'kumquat']
You can destructure right into this array.
{name: fruits[fruits.length]} = {name: 'cherry'}
//fruits is now ['banana', 'apple', 'kumquat', 'cherry']
Generally, I would think of the {name: <some var id>} = ...
syntax as
renaming the value that you are destructuring, but now I think of it more as
defining a location that the value will be destrcutured to.
If you try to declare a new variable in the same destructuring however you will get an error if you use const:
const {name: fruits[fruits.length], color} = {name: 'cherry', color: 'red'}
// Uncaught SyntaxError: Identifier 'fruits' has already been declared
Or the new variable will go onto the global
or window
object if you don't use const:
{name: fruits[fruits.length], color} = {name: 'cherry', color: 'red'}
global.color
// 'red'
Tweet