> normal functions ... remain necessary for any use case where `this` needs to be determined at invocation time.
On its way to being an edge case. On Tue, Oct 24, 2017 at 2:46 PM, Jordan Harband <ljh...@gmail.com> wrote: > "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 > >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss