(x) => {foo: bar}
Caitlin Potter
caitpotter88 at gmail.com
Mon Jan 5 11:05:43 PST 2015
> In the implementations I checked, this is actually allowed, but it's
parsed as a label instead of what you may expect at first glance (an
object).
For it to be a concise body, you need to change it to `let f = (x) =>
({foo: bar});`. Otherwise, it's like a regular function body.
On Mon, Jan 5, 2015 at 2:02 PM, Frankie Bagnardi <f.bagnardi at gmail.com>
wrote:
> let f = (x) => {foo: bar};
>
> In the implementations I checked, this is actually allowed, but it's
> parsed as a label instead of what you may expect at first glance (an
> object).
>
> Is there any reason this is allowed? If there's no reason other than to
> match function(){}, this should be a syntax error, in my opinion.
>
> A potentially easier and wider reaching solution here would be to restrict
> labels in strict mode to demand a possible break/continue, else it's a
> syntax error. The only area I'd be concerned about compatibility is low
> level generated JavaScript.
>
> Thoughts?
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150105/0357add3/attachment-0001.html>
More information about the es-discuss
mailing list