arrow function syntax simplified

Isiah Meadows isiahmeadows at gmail.com
Thu Oct 25 11:10:10 UTC 2018


Couple nita about your argunents:

1. Most commonly used implementations don't close over more than what they
have to. If `this` isn't used, it's not closed over. The addition of one
more variable to check has so little overhead you won't gain anything.

2. Deprecating anything in JS is hard in general. The little-used
`arguments.caller` itself was a challenge.

Not TC39, but I strongly doubt this would have any traction for these +
your additional justifications against.

On Thu, Oct 25, 2018 at 06:59 manuelbarzi <manuelbarzi at gmail.com> wrote:

> taking this old discussion back a bit (
> https://esdiscuss.org/topic/arrow-function-syntax-simplified), why
> shouldn't be a good idea to deprecate the use of "function" in pro of
> thin-arrow "->", being applicable in same cases (including named function)?
>
> just a bit of code with more about proposals:
>
> const GLOBAL_FACTOR = 2
>
> const result = [1, 2, 3].map(function(value) { return GLOBAL_FACTOR *
> value })
>
> // PROPOSAL 1 - normal anonymous function (same as fat-arrow, but dynamic
> binding, nothing much new here as from previous proposals):
> // const result = [1, 2, 3].map(value -> GLOBAL_FACTOR * value)
>
>
> function applyFactor(value) {
> return GLOBAL_FACTOR * value
> }
>
> // PROPOSAL 2 - named function declaration (without 'function' keyword):
> // applyFactor(value) -> GLOBAL_FACTOR * value
>
> // referenced function (following PROPOSAL 1):
> // const applyFactor = value -> GLOBAL_FACTOR * value
>
> const sameResult = [1, 2, 3].map(applyFactor)
>
> justification i read against this proposal is mainly that thin-arrow may
> bring "more confusion" and may "provide poor or no benefit" co-existing
> with fat-arrow. but having both may bring devs the chance to understand the
> differences in the learning process as any other feature. the only "big
> deal" would be to be aware of fix vs dynamic binding, which is something a
> dev must understand sooner or later, independently of syntax (it can be
> just explained with traditional function() {} and .bind() method).
>
> on the other hand it would bring the chance to avoid over-using fat-arrow
> when binding it's not really necessary (which may "save" internal binding
> processing too).
>
> finally, a simpler and shorter syntax avoiding the requirement of the
> keyword 'function'.
>
>
> _______________________________________________
> 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/20181025/67aa93ce/attachment-0001.html>


More information about the es-discuss mailing list