Saltar al contenido

Iterables e iteradores en JavaScript

Introducción a los iterables en JavaScript

Los iterables en JavaScript son objetos que implementan un protocolo específico, lo que les permite ser consumidos por constructos de iteración como for...of. Esta guía cubre los conceptos fundamentales, los iterables integrados y técnicas prácticas para trabajar con colecciones.

¿Qué son los iterables en JavaScript?

En esencia, un iterable es un objeto que implementa el método Symbol.iterator, lo que permite el acceso secuencial a sus elementos. Varios tipos integrados en JavaScript son iterables, como Array, String, Map, Set, entre otros. Es importante distinguir entre un iterable (el objeto que se recorre) y un iterador (el objeto devuelto por Symbol.iterator que realiza realmente el recorrido). Estos iterables son fundamentales para diversas operaciones, como bucles y manipulación de datos.

INFO

Para una exploración detallada de los objetos Map y Set de JavaScript, consulta nuestra guía completa sobre Map y Set en JavaScript.

Ejemplo de un iterable: Array

Veamos un ejemplo básico de un iterable en JavaScript:


Output appears here after Run.

Este fragmento de código muestra la iteración sobre un array de frutas, un iterable común. El bucle for...of llama automáticamente al método Symbol.iterator del iterable y consume el iterador resultante hasta que done sea true.

El método Symbol.iterator

La base de un iterable es su método Symbol.iterator. Este método especial devuelve un iterador, que proporciona un mecanismo para recorrer los elementos del iterable.

Ejemplo: Objeto iterable personalizado


Output appears here after Run.

En este ejemplo, hemos creado un objeto iterable personalizado con su propio método Symbol.iterator. Nota: La sintaxis abreviada de métodos asegura que this se refiera correctamente al objeto myIterable. (Usar una función flecha aquí capturaría this léxicamente y rompería el patrón.)

Técnicas avanzadas de iteración

A medida que avances en tu aprendizaje de JavaScript, te encontrarás con escenarios que requieren técnicas de iteración más sofisticadas.

Uso de Array.from()

El método Array.from() es una herramienta poderosa que crea una nueva instancia de array a partir de un objeto iterable.

Ejemplo: Convertir un Set en un Array


Output appears here after Run.

Sintaxis spread con iterables

La sintaxis spread (...) permite expandir iterables donde se esperan argumentos o elementos.

Ejemplo: Fusionar arrays


Output appears here after Run.

Conclusión

Dominar los iterables en JavaScript abre un sinfín de posibilidades en el manejo y la manipulación de datos. Al comprender y utilizar los conceptos y técnicas descritos en esta guía, estarás bien preparado para abordar una amplia gama de desafíos de programación. A medida que continúes explorando las profundidades de JavaScript, recuerda que los iterables son un componente clave para escribir código eficiente, elegante y efectivo.

Práctica

¿Cuáles de las siguientes afirmaciones sobre los iterables en JavaScript son correctas?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.