"ES5 functions" - by which you mean, *normal* functions - are not "outmoded", they remain necessary for any use case where `this` needs to be determined at invocation time.
Nothing should ever produce an arrow function without `=>`; and exports assuming `const` is an interesting idea, but explicit > implicit, and "typing less" is simply not a goal worth optimizing for by itself. On Tue, Oct 24, 2017 at 11:05 AM, Matthew Robb <matthewwr...@gmail.com> wrote: > There is practically no gain to suggest this syntax for arrows anyway as a > module has no this binding you are creating a perpetually contextless > function whereas using this shorthand syntax for a normal function makes > some sense. You lose implicit return regardless. > > > - Matthew Robb > > On Tue, Oct 24, 2017 at 1:47 PM, Andrea Giammarchi < > andrea.giammar...@gmail.com> wrote: > >> > functions are already outmoded >> >> I don't know where you come from but to me: >> >> ```js >> // this ain't outmoded at all >> const obj = { >> method() { return this === obj; } >> }; >> >> // this ain't outmoded at all >> class Any { >> method() { return this instanceof Any; } >> } >> ``` >> >> And a module that provides mixins is definitively not outmoded at all >> ```js >> export method() { >> return this !== undefined; >> }; >> ``` >> >> Omitting the arrow is everything but a syntax win here. >> >> Regards >> >> >> >> >> On Tue, Oct 24, 2017 at 2:32 PM, Brian Blakely <anewpage.me...@gmail.com> >> wrote: >> >>> At current, sans an explicit assignment, the pragma `foo() {...}` should >>> throw. >>> >>> On Tue, Oct 24, 2017 at 1:26 PM, dante federici < >>> c.dante.feder...@gmail.com> wrote: >>> >>>> Another annoying thing JS has to deal with is: >>>> ``` >>>> // implicitly 'var' >>>> someVar = 10; >>>> ``` >>>> >>>> So, something like: >>>> ``` >>>> myFn() { >>>> } >>>> ``` >>>> >>>> Would be considered as: >>>> ``` >>>> var myFn = function() { >>>> } >>>> ``` >>>> >>>> with what semantics exist now. Not best practices, but what is >>>> currently interpreted in the language. >>>> >>>> I'd 100% agree that, as a shorthand, this is nice: >>>> ``` >>>> myFn() { } >>>> const myFn = () => {} >>>> ``` >>>> >>>> Which is what I mean. But I'm not the full implementation of JavaScript. >>>> >>>> _______________________________________________ >>>> es-discuss mailing list >>>> es-discuss@mozilla.org >>>> https://mail.mozilla.org/listinfo/es-discuss >>>> >>>> >>> >>> _______________________________________________ >>> es-discuss mailing list >>> es-discuss@mozilla.org >>> https://mail.mozilla.org/listinfo/es-discuss >>> >>> >> >> _______________________________________________ >> es-discuss mailing list >> es-discuss@mozilla.org >> https://mail.mozilla.org/listinfo/es-discuss >> >> > > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss