typestar

Generadores en JavaScript

Funciones que producen un flujo de valores de forma perezosa.

function* idMaker(start = 1) {
  let id = start;
  while (true) {
    yield id++;
  }
}

function* take(iterable, n) {
  let i = 0;
  for (const value of iterable) {
    if (i++ >= n) return;
    yield value;
  }
}

const ids = [...take(idMaker(100), 3)];

Cómo funciona

  1. function* y yield producen valores bajo demanda.
  2. Un generador infinito es seguro si se consume de forma perezosa.
  3. El spread sobre un generador recolecta lo que produce.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
231
Tokens
77
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 44 segundos.

Escribe este fragmento

Paso 1 de 2 en Generadores; paso 10 de 16 en Funciones y patrones.

← Anterior Siguiente →