d at domenic.me (2015-06-02T15:05:38.544Z)
this seems like a footgun and has tripped people up in the wild https://twitter.com/jankrems/status/544645776518184960
this seems like a footgun and has tripped people up in the wild https://twitter.com/jankrems/status/544645776518184960
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 <caitpotter88 at gmail.com> 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 <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 >> >> > _______________________________________________ > 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/b8c04981/attachment.html>