See
http://wiki.ecmascript.org/doku.php?id=strawman:block_vs_object_literal
This could be done, but not for ES6. Sorry I didn't push this harder,
earlier.
/be
Calvin Metcalf wrote:
this seems like a footgun and has tripped people up in the wild
https://twitter.com/jankrems/status/544645776518184960
On Mon Jan 05 2015 at 2:05:52 PM Caitlin Potter
<[email protected] <mailto:[email protected]>> wrote:
> 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
<[email protected] <mailto:[email protected]>> 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
[email protected] <mailto:[email protected]>
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected] <mailto:[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