Existential Operator / Null Propagation Operator

Sander Deryckere sanderd17 at gmail.com
Thu Oct 29 18:29:42 UTC 2015

2015-10-29 19:22 GMT+01:00 Laurentiu Macovei <alonecomp at gmail.com>:

> This would be amazing operator!!
> var error = a.b.c.d; //this would fail with error if a, b or c are null or
> undefined.
> var current = a && a.b && a.b.c && a.b.c.d; // the current messy way to
> handle this
> var typeScript = a?.b?.c?.d; // The typescript way of handling the above
> mess with no errors
> However I propose a more clear one - as not to confuse ? from the a ? b :
> c statements with a?.b statements:
> var x = a..b..c..d; //this would be ideal to understand that you assume
> that if any of a, b, c is null or undefined the result will be null or
> undefined.
> Two dots, means if its null or undefined stop processing further and
> assume the result of expression is null or undefined. (as d would be null
> or undefined).
> Two dots make it more clear, more visible and more space-wise so you
> understand what's going on.
> What do you think folks?
Do you also have a proposal on how to handle a["b"]["c"]["d"], so with
possibly variable keys.

In any case, I think that the existential operator (whatever the exact sign
used is) will be better then the current way of chaining &&.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20151029/cac5de10/attachment.html>

More information about the es-discuss mailing list