Destructuring object outside of var declaration

Nathan Wall nathan.wall at
Tue Sep 17 07:06:14 PDT 2013

I'm wondering what the best syntax is for object destructuring outside of a var declaration.  For instance, the following works in Firefox Nightly and Traceur:
    var { a, b } = foo;
but the following doesn't:
    var a, b;    { a, b } = foo;
I presume this is because in the second case the { a, b } is a block.
However, the following does work:
    var a, b;    ({ a, b }) = foo;
Is the above what people are expected to use (when they need to use destructuring outside of a var/let declaration or function arguments), or is there another form available?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list