Holla Hexkey - 1 year ago 67

Javascript Question

I have a function that returns 5 objects, and I would like to declare 4 of them using

`const`

`let`

`const`

`const { thing1, thing2, thing3, thing4, thing5 } = yield getResults();`

My current workaround is:

`const results = yield getResults();`

const thing1 = results.thing1;

const thing2 = results.thing2;

const thing3 = results.thing3;

const thing4 = results.thing4;

let thing5 = results.thing5;

But I'm wondering if destructuring assignment allows you to do this more elegantly.

No mention of this question on MDN or on stackoverflow, as far as I can see.

Answer Source

It isn't possible to perform a destructure that initialises both `let`

and `const`

variables simultaneously. However the assignments to `const`

can be reduced to another destructure:

```
const results = yield getResults()
const { thing1, thing2, thing3, thing4 } = results
let thing5 = results.thing5
```