Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

298
Vistas
¿Se debe usar for-of o forEach al iterar a través de una matriz?

Además, ¿es esta una pregunta de estilo o una pregunta funcional? ¿Es una cuestión de preferencia o es mejor? Estoy tratando de entender el propósito de for-of.

Usualmente uso,

 let iterable = [10, 20, 30]; iterable.forEach((val) => { console.log(val); })

Pero veo que esta nueva sintaxis está disponible.

 let iterable = [10, 20, 30]; for (let value of iterable) { console.log(value); }

¿Se puede proporcionar un ejemplo de un mejor caso de uso para for-of que pueda iluminar cuándo se debe usar?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Recomiendo usar siempre for … of en ES6.

  • Funciona en cualquier iterable.
  • Admite todo tipo de flujo de control en el cuerpo del ciclo, como continue , break , return , yield y await .

También personalmente lo encuentro más legible, pero eso se reduce a la preferencia. Algunas personas piensan que forEach es un estilo más funcional, pero eso es incorrecto: no tiene valor de resultado y se trata de hacer efectos secundarios, por lo que un bucle de aspecto imperativo se ajusta mejor a ese propósito.

El rendimiento no es una preocupación, en los motores modernos todos los estilos de bucle son equivalentes .

over 4 years ago · Santiago Trujillo Denunciar

0

Esta es una pregunta muy interesante que se ha discutido en muchos otros sitios. Voy a publicar los conceptos básicos de lo que he leído.

ForEach pertenece exclusivamente a la familia real de Arrays. ¡El método forEach se introdujo con el linaje de la herencia prototípica del objeto Array! No hace falta decir que la cláusula forEach solo funciona con aquellas estructuras de datos que son matrices. El método básicamente itera sobre los elementos de la matriz y ejecuta una función de devolución de llamada [básicamente alguna función ejecutable/actividad divertida].


¡ El bucle for-of es adecuadamente nuevo en el mundo de JS y contiene superpoderes! ¡Voilaaaaaaa! El bucle for-of crea un bucle iterando sobre objetos miembro iterables. La lista es extensa como

  • Formación
  • Mapa
  • Colocar
  • Cuerda
  • Matriz tipificada
  • Otras clases del W3C

Debe saber que este chico malo surgió con el nacimiento de ES6 en 2015. Por lo tanto, ofrece mucha flexibilidad en el uso.


Actuación

En rendimiento, for...of es más rápido que forEach . Los resultados se pueden encontrar aquí

forEach es un 24% más lento que for...of


Actualizar

Hay varias otras clases iterables en la especificación W3C, como FileList, como mencioné anteriormente. Y en borradores recientes de W3C (alrededor de cuando se lanzó ES6), colecciones como HTMLCollection y NodeList ahora también implementan forEach(), no solo Array. Por @Patrick Roberts


Enlaces de origen:

  • https://codeburst.io/foreach-vs-for-of-vs-for-in-tug-of-for-d8f935396648
  • https://www.reddit.com/r/javascript/comments/4spd5b/forof_vs_foreach/
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda