Return value of forEach
Niloy Mondal
niloy.mondal84 at gmail.com
Fri Oct 16 13:23:36 UTC 2015
> That'd be a compatibility break.
Ugh... you mean people actually depend on `forEach` returning `undefined`
(which it always does) to do further task?
I wonder what that kinda code would look like >.<
On Fri, Oct 16, 2015 at 6:08 PM, Frankie Bagnardi <f.bagnardi at gmail.com>
wrote:
> That'd be a compatibility break.
>
> If we end up getting :: though:
>
> ```js
> function logEach(){
> this.forEach((x) => console.log(x));
> return this;
> }
>
>
> const a = [1, 2, 3]
> .map(square)
> ::logEach()
> .map(plus1)
> .reduce(add);
> ```
>
> You could make that a global variable so you can sprinkle it around your
> code in development.
>
> Having some developer tools in the language would be nice though. I don't
> even think console.log is in the spec. A global like Debug.logThis for
> example would be a more general ::-able.
>
>
> On Fri, Oct 16, 2015 at 5:32 AM, Andrea Giammarchi <
> andrea.giammarchi at gmail.com> wrote:
>
>> ```js
>> const a = [1, 2, 3]
>> .map(square)
>> .map(x => console.log(x) || x )
>> .map(plus1)
>> .reduce(add);
>> ```
>>
>> Regards
>>
>>
>> On Fri, Oct 16, 2015 at 10:13 AM, Niloy Mondal <niloy.mondal84 at gmail.com>
>> wrote:
>>
>>> Currently, `Array.prototype.forEach` returns `undefined`. It would be
>>> more
>>> useful if it returns the array itself.
>>>
>>> Say I have written some code like this...
>>>
>>> ```js
>>> const a = [1, 2, 3]
>>> .map(square)
>>> .map(plus1)
>>> .reduce(add);
>>> ```
>>>
>>> For some reason, I am not getting the expected output. For debugging, I
>>> would
>>> like the print the values after each step. My first initial reaction is
>>> to
>>> put a `forEach` step in between and print the values like so...
>>>
>>> ```js
>>> const a = [1, 2, 3]
>>> .map(square)
>>> .forEach(x => console.log(x))
>>> .map(plus1)
>>> .reduce(add);
>>> ```
>>>
>>> Unfortunately, this does not work as `forEach` returns `undefined`. I
>>> now have
>>> to comment out all the code below it. Having the _plug and play_
>>> behaviour for
>>> `forEach` would be very convenient.
>>>
>>> _______________________________________________
>>> 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/20151016/6bbcdaa0/attachment-0001.html>
More information about the es-discuss
mailing list