||= is much needed?
Aymeric Vitte
vitteaymeric at gmail.com
Wed Jun 13 05:29:22 PDT 2012
Typo below, I meant "which can be written : if
(!(((typeof(api)!="undefined"??api.a:undefined)??api.a.b:undefined)??api.a.b.c:undefined))
{try later}"
Le 13/06/2012 12:12, Aymeric Vitte a écrit :
> Indeed, maybe both should be included.
>
> What about this case :
>
> if (typeof(api)=="undefined") {try later} else if (!api.a) {try later}
> else if (!api.a.b)) {try later} else if (etc...)
>
> which can be written : if
> (!(((typeof(api)!="undefined"?api.a:undefined)?api.a.b:undefined)?api.a.b.c:undefined))
> {try later}
>
> but can't be written with ?:
>
> The best in that case would be to be able to do : if (!api.a.b.c) {try
> later}
>
> Why in accessors the attempt to access a property of |undefined| could
> not return |undefined| itself ?
>
>
> Le 13/06/2012 09:45, T.J. Crowder a écrit :
>> On 13 June 2012 06:52, Brendan Eich <brendan at mozilla.org
>> <mailto:brendan at mozilla.org>> wrote:
>>
>> People don't default on the caller side (at the callsite) much,
>> in my experience. Dave may be seeing other sources, but it's
>> extremely rare in my experience to see
>>
>>
>> I'm with Dave on this, I do it fairly regularly, usually when a
>> function turns around and calls another one with the arg and has no
>> other use for the arg:
>>
>> function doSomethingNifty(a, b) {
>> return doSomethingVerbose({
>> x: 1,
>> y: a,
>> z: b ?: 5
>> // ...
>> });
>> }
>>
>> ?= looks great, and Wes' point about confusion re ||= (or even |||=)
>> and boolean logical operators definitely kills my preferred ||| for
>> the non-assignment form if there's going to be an assignment form --
>> and we all want an assignment form.
>>
>> Is the reason for using ?: rather than ?? because we may want it for
>> my desired second ternary? E.g., from my other message:
>>
>> a = b ?? c : d;
>>
>> meaning
>>
>> a = b !== undefined ? c : d;
>>
>> Or that we want it (now, or in reserve) for something else? Because
>> if not, I'd prefer to see ?? rather than ?:. It's easier to type and
>> the double ?? calls back to the related ||. But again, only if we
>> don't want ?? (now, or in reserve) for something else.
>>
>> Very much looking forward to ?: (however we spell it) and ?=.
>>
>> -- T.J.
>>
>>
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>
> --
> jCore
> Email :avitte at jcore.fr
> Web :www.jcore.fr
> Webble :www.webble.it
> Extract Widget Mobile :www.extractwidget.com
> BlimpMe! :www.blimpme.com
--
jCore
Email : avitte at jcore.fr
Web : www.jcore.fr
Webble : www.webble.it
Extract Widget Mobile : www.extractwidget.com
BlimpMe! : www.blimpme.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20120613/bc5087a7/attachment-0001.html>
More information about the es-discuss
mailing list