Destructuring assignment

David-Sarah Hopwood david.hopwood at industrial-designers.co.uk
Thu Aug 21 20:23:37 PDT 2008


Brendan Eich wrote:
> On Aug 21, 2008, at 6:47 PM, Mark S. Miller wrote:
>> On Thu, Aug 21, 2008 at 6:34 PM, Brendan Eich <brendan at mozilla.org>  
>> wrote:
>>> js> [d,e,f] = foo()
>>> 1,2,3
>> Is this a simultaneous assignment of d,e,f, or does it declare  
>> variables d,e,f?
> 
> The first.
> 
>> If the first, can you do a swap as
>>
>>     [d, e] = [e, d]
> 
> Sure can (variable values as in previous mail): [...]

So the rule is that the RHS is evaluated, and then the assignments are
done left-to-right, correct? And each array element (or property value
in the case of an object literal) on the left is syntactically a
LeftHandSideExpression?

(Sounds fine, I just want to confirm my understanding.)

-- 
David-Sarah Hopwood


More information about the Es-discuss mailing list