Kevin Smith wrote:
Using suffix-? on the expression side is not backward compatible for the ASI reasons already mentioned:

    a.b?
    c:
    d;

I raised this problem-case, so I want to point out that we could take other courses:

* Reckon that labels are rare and this won't bite, so let it stand, just as

a = b
(c)

is a hazard today -- and one that bites much more.

* Don't allow suffix-? to be followed by a newline.

So we're down to two possibilities:

1) Expression: prefix-?, Pattern: suffix-?
2) Expression: prefix-? Pattern: prefix-?

Consistency would seem to dictate (1).

    { p: { ?q: v } } = o;
    v = o.p.?q;

You must have meant (2).

Apart from deviating from the cowpath (CoffeeScript), prefix-? is equivalent to suffix-? as I argued in reply to Herby. We'd want to support

  let ?{p: v} = o;
  let v = ?o.p;

to handle the case of undefined or null 'o', of course, in which case v would be initialized to undefined.

Stopping here to make sure we are in sync.

/be
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to