Single destructuring argument to an arrow function

Niloy Mondal niloy.mondal84 at gmail.com
Sat Mar 21 04:37:28 UTC 2015


Really awesome if we could have this feature.

On Sat, Mar 21, 2015 at 4:04 AM, Brendan Eich <brendan at mozilla.org> wrote:

> But we could extend the cover grammar with some work. You'd have to push
> ArrayLiteral and ObjectLiteral down from PrimaryExpression alternative
> right-hand sides, to live under CoverParenthesizedExpressionAndArrowParameterList.Seems
> do-able -- anyone see a fatal problem? Could be an ES7 relaxation from ES6,
> if it matters enough to users.
>
> /be
>
> Rick Waldron wrote:
>
>> Inline...
>>
>>
>> On Thu, Mar 19, 2015 at 4:50 PM Jan-Ivar Bruaroey <jib at mozilla.com
>> <mailto:jib at mozilla.com>> wrote:
>>
>>     Hi group! First post, so be gentle.
>>
>>
>> Welcome
>>
>>
>>     I love how arrow functions allow single arguments to be passed without
>>     parenthesis, so I expected this to work:
>>
>>          Promise.all([true, false]).then([foo, bar] => console.log(foo +”,
>>     "+ bar));
>>
>>     but it doesn't:
>>
>>          SyntaxError: invalid arrow-function arguments (parentheses around
>>     the arrow-function may help)
>>
>>     I understand from the spec that this is as defined, but is there a
>>     technical reason to disallow it?
>>
>>
>> To prevent ambiguity with:
>>
>> MemberExpressionArguments
>> CallExpressionArguments
>>
>>
>> Arguments[Yield] :
>> |(| |)|
>> |(| ArgumentList[?Yield] |)|
>> ArgumentList[Yield] :
>> AssignmentExpression[In, ?Yield]
>> |...| AssignmentExpression[In, ?Yield]
>> ArgumentList[?Yield] |,| AssignmentExpression[In, ?Yield]
>> ArgumentList[?Yield] |,| |...| AssignmentExpression[In, ?Yield]
>>
>>
>> e.g.
>>
>>   fn([a, b])
>>
>> Rick
>>
>>
>>     The parenthesis seem redundant to the naked eye.
>>
>>     Thanks,
>>
>>     .: Jan-Ivar :.
>>
>>     _______________________________________________
>>     es-discuss mailing list
>>     es-discuss at mozilla.org <mailto: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
>>
> _______________________________________________
> 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/20150321/b35ca815/attachment-0001.html>


More information about the es-discuss mailing list