Optional Chaining (aka Existential Operator, Null Propagation)
a.d.bergi at web.de
Mon Feb 8 00:16:42 UTC 2016
Claude Pache wrote:
> Yes, that syntax is possible. Whether it is preferable is a question of taste. Personally, I don’t like it:
> * I slightly prefer `?.` over `.?` for the following reason: The `?.` token may be conceptually separated in two, first the question mark which checks whether the expression at its left evaluates to null/undefined (and orders to stop processing if it is the case); then the dot which proceeds with property lookup.
> * I find that the question mark inside the brackets is out of place, as it isn’t part of the arguments (for function call) or of the expression defining the key (for property access).
I agree here as well, it does feel out of place, and `?[…]`/`?(…)` would
feel a lot more natural. Given that those are not feasible for parsing
however, I would still prefer them
new C(? …args)
over the proposed alternative
where the placement of the dot is just horrifying my eyes.
Maybe we could at least use some other character instead of the dot?
might bear too much resemblance to the ternary, but imo the colon fits
better than the dot here.
More information about the es-discuss