Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Clean way to keep original variable and destructure at the same time

Is there a cleaner way to do this (with anything that is at least an ES draft and has a babel plugin, i.e., ES6, ES7, etc.):

const { a, b } = result = doSomething();

Where I want to keep the overall result as one singular object, but also destructure it at the same time. It technically works, but result is implicitly declared (with an implicit var), while I'd really like it to also be a const.

I'm currently doing this:

const result = doSomething();
const { a, b } = result;

Which again works, but it's slightly on the verbose side, since I need to repeat this pattern dozens of times.

I'd ideally want something along the lines of:

const { a, b } = const result = doSomething();

But that is obviously an invalid syntax.

like image 678
samanime Avatar asked Dec 31 '17 01:12

samanime


1 Answers

One possible way:

const result = doSomething(), 
    { a, b } = result;

You still have to duplicate the name, though. const token isn't quite right-handy. )

like image 183
raina77ow Avatar answered Sep 30 '22 02:09

raina77ow