Sobes.tech
Middle

¿Cómo funcionan los generadores en JavaScript, en comparación con las funciones normales?

sobes.tech AI

Respuesta de la IA

Los generadores en JavaScript son funciones que pueden pausar su ejecución y devolver valores intermedios mediante la palabra clave yield. A diferencia de las funciones normales, que se ejecutan completamente y devuelven un único valor, los generadores permiten crear iteradores con generación perezosa de valores.

Ejemplo de generador:

function* countUpTo(max) {
  let count = 1;
  while (count <= max) {
    yield count; // pausa la ejecución y devuelve el valor
    count++;
  }
}

const counter = countUpTo(3);
console.log(counter.next().value); // 1
console.log(counter.next().value); // 2
console.log(counter.next().value); // 3
console.log(counter.next().done);  // true

Por lo tanto, los generadores son útiles para trabajar con secuencias de datos que no necesitan ser calculadas de inmediato en su totalidad.