.. cascade operator

Hugh Jackson hughfdjackson at googlemail.com
Sun Jul 22 04:07:24 PDT 2012


Very interesting; thanks!

On 22 July 2012 01:32, Brendan Eich <brendan at mozilla.org> wrote:

> See http://blog.mozilla.org/**dherman/2011/12/01/now-thats-**
> a-nice-stache/<http://blog.mozilla.org/dherman/2011/12/01/now-thats-a-nice-stache/>-- I'm not sure there is a strawman on the wiki, though.
>
> /be
>
> Hugh Jackson wrote:
>
>> Many js APIs rely heavily on chaining, which is somewhat limited, in that
>> the object upon which further methods are to be called has to be returned;
>> as well as providing setter methods.  Is there space in JS for this
>> proposal (taken from dart <http://www.dartlang.org/**
>> articles/m1-language-changes/#**cascades<http://www.dartlang.org/articles/m1-language-changes/#cascades>
>> >)?:
>>
>>
>>     query('#my-form').query('**button')
>>     ..classes.add('toggle')
>>
>>     ..text = 'Click Me!'
>>     ..labels.add(toggleLabel);
>>
>>
>> Which desugars to:
>>
>>     query('#my-form').query('**button').classes.add('toggle')**;
>>     query('#my-form').query('**button').text = 'Click Me!';
>>
>>     query('#my-form').query('**button'.labels.add(**toggleLabel);
>>
>>
>> IOW, .. evaluates the expression that follows it, and returns the value
>> of the previous expression (discarding the value returned from the
>> expression being evaluated).
>>
>> I understand that .{ has been considered in this context, but (afaic) it
>> doesn't seem to cover as many bases as minimally.
>>
>> Hugh
>> ______________________________**_________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/**listinfo/es-discuss<https://mail.mozilla.org/listinfo/es-discuss>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20120722/af4ddb62/attachment.html>


More information about the es-discuss mailing list