"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 <[email protected]> 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 < > [email protected]> 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 <[email protected]> >> wrote: >> >>> At current, sans an explicit assignment, the pragma `foo() {...}` should >>> throw. >>> >>> On Tue, Oct 24, 2017 at 1:26 PM, dante federici < >>> [email protected]> 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 >>>> [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 >> >> > > _______________________________________________ > 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

