Let’s say I had the following code:
let array = [1, 2, 3]
array.forEach(x => someFunc(x))
In Java, I know the second line could be simpler using Streams (at least for static methods), like so:
array.stream().map(ClassName::someFunc) ...
Essentially I’m asking is there an analog for the ClassName::someFunc part in JavaScript, instead of having to write x => someFunc(x)?
>Solution :
In the simplest case, you can replace
array.forEach(x => someFunc(x))
with just
array.forEach(someFunc)
but there’s some fine print you should be aware of:
-
this generally doesn’t work with object methods:
.forEach(someObj.someMeth)won’t work -
the callback should accept exactly one argument or conform to the
forEachcalling conventioncallback(element, index, this). For example,array.map(parseInt)won’t work either, becauseparseInthas its own idea of what the second argument means.