var el1,el2 = [1,2] why not?
oliver at apple.com
Wed Jul 4 15:44:10 PDT 2012
On Jul 4, 2012, at 10:31 AM, Hemanth H.M wrote:
> var a,b = 1; sets b to 1 and a is undefined, this is more C like semantics.
> Where as a,b = b,a is more pythonis; Well then a,b=[1,2] should make sense ?
No, because all of these things have defined semantics. Let's say you replace
That is still valid today. It evaluates as resolving "a" (which may or may not have side effects), and then assigning [1,2] to b.
There is definitely code that does this in the variable declaration syntax, and knowing the web, probably code that does it in the non-var case. You can't use type checks either, because var a,b=c should not have different behaviour depending on the value of c.
It has to be a distinct syntax, which is what we have been developing -- see http://wiki.ecmascript.org/doku.php?id=harmony:destructuring -- but that takes time. We have to resolve all of the potential issues in the syntax and semantics, then engines have to implement it.
> /me also agrees to var[a,b] = foo;
> On Wed, Jul 4, 2012 at 10:47 PM, Oliver Hunt <oliver at apple.com> wrote:
> This doesn't do what you want as assignments in initialisers are optional. This has the semantic effect of meaning that there is no difference between
> var a, b = foo;
> var a;
> var b = foo;
> We're working on introducing destructuring assignment so you'll be able to do
> var [a, b] = foo;
> which is what you want, but we're not quite there yet.
> On Jul 4, 2012, at 10:08 AM, Hemanth H.M wrote:
>> Hello Hackers,
>> This might be silly, but let the code speak :
>> var param1,param2 = window.location.search.replace('?','').split('&')
>> ["foo=bar", "hello=world"]
>> Why not param1 be equal to "foo=bar" and param2 be equal to "hello=world"?
>> 'I am what I am because of who we all are'
>> -- Hemanth HM
>> es-discuss mailing list
>> es-discuss at mozilla.org
> 'I am what I am because of who we all are'
> -- Hemanth HM
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the es-discuss