Brendan Eich wrote:
Matthew Robb wrote:
At one point I was under the impression that the following would produce an implicit return method:

class x {
   method(x) x+x
}

We dropped it. Maybe Rick can find the meeting notes -- I'm short on time due to travel today. The problem is you must terminate with a ; or else the expression body may continue into what the user intended to be a subsequent property name, especially one of the form we considered (but ultimately rejected for now):

  class C {
    method(x) x+x
    [symbol]: 42
  }

If there was no syntax error, then ASI does not apply.

Of course, the expression body "x+x[symbol]:42" does have a later syntax error, on the ":" -- but that is confusing.

Also it could be with computed property names combined with concise methods that you get "x+x[symbol](y)+y" (note unary "+" :-P).

It's a rabbit-hole we'd rather avoid.

/be

Now we could reckon that [computed-property-name] is "out", so we can put expression body back "in" -- but the future-fragility if not future-hostility stayed our hands from doing this. I think that's the right call, still.

/be



On Wed, Jun 5, 2013 at 8:07 AM, Rick Waldron <[email protected] <mailto:[email protected]>> wrote:




    On Wed, Jun 5, 2013 at 10:56 AM, Matthew Robb
<[email protected] <mailto:[email protected]>> wrote:

        Does a concise body method still return by default?


    ArrowFunction offers implicit return in the unbraced form:

    let two = () => 1 + 1;
    two(); // 2

    Whereas the braced form requires an explicit return, otherwise
    returning the default undefined.

    Rick



     /snip




--
- Matthew Robb
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to