Una de las ventajas que he escuchado del uso de forEach frente a for/of en un iterable es que puedes encadenar métodos.
Como ejemplo básico de los dos tengo:
let arr = [1,2,3]; arr.forEach((elem, idx) => { console.log(elem); }) for (let elem of arr) { console.log(elem); }; ¿Cuál sería un ejemplo de encadenar varios forEach ?
forEach devuelve undefined . No puede llamar a un método en undefined .
El encadenamiento del que quizás haya oído hablar es cuando forEach está al final de algún procesamiento que devuelve una matriz, como después de métodos de matriz como map , reduce , etc.:
let arr = [1,2,3]; arr.map(x => x*2).forEach((elem, idx) => { console.log(elem); })forEach siempre devuelve undefined . forEach no se puede encadenar como map , reduce o filter .