Holla Hexkey Holla Hexkey - 5 months ago 21
Javascript Question

ES6 destructuring assignment with more than one variable type

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

and 1 of them using
. If I wanted all objects declared using
I could do:

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.


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