Dino Geek, intenta ayudarte

¿Cómo utilizar generadores en JavaScript?


Los generadores son una característica especial de JavaScript que permite a una función producir una secuencia de resultados en lugar de un único valor, es decir, genera series de valores a petición. Se utilizan principalmente para simplificar el manejo de iteraciones.

Para crear un generador en JavaScript, utilizas la sintaxis de función generadora, que es ‘function*’ y ‘yield’:

```javascript
function* idGenerador (){ let id = 1; while(true){ yield id++; }
}

const gen = idGenerador();
console.log(gen.next().value); //1
console.log(gen.next().value); //2
```

La palabra clave `yield` aquí retorna el valor y, curiosamente, pausa la función. Cuando se llama a `next()`, la función continúa donde lo dejó y devuelve el siguiente valor.

Sin los generadores, tendrías que, por ejemplo, almacenar todos los valores en un array y luego devolver ese array, lo cual puede no ser eficiente en términos de memoria si la cantidad de datos es grande. Con generadores, generas cada valor uno por uno en vez de todos a la vez.

Los generadores también pueden tomar entrada a través del método `next()`:

```javascript
function* conversacion() { const nombre = yield “¿Cuál es tu nombre?”; yield “Hola, “ + nombre;
}

let conversacionGen = conversacion();

console.log( conversacionGen.next().value ); // ¿Cuál es tu nombre?
console.log( conversacionGen.next(“John Doe”).value ); // Hola, John Doe
```

Aquí, cuando llamamos a `gen.next(“John Doe”).value`, le estamos dando la función generadora un valor para `yield “¿Cuál es tu nombre?”;`, que se convierte en “John Doe”. Entonces procede a `yield “Hola, “ + nombre;` que se convierte en `“Hola, John Doe”`.


Genera artículos simplemente para optimizar tu SEO
Genera artículos simplemente para optimizar tu SEO





DinoGeek ofrece artículos sencillos sobre tecnologías complejas

¿Desea ser citado en este artículo? Es muy sencillo, contáctenos en dino@eiki.fr.

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nombre de dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Aviso legal / Condiciones generales de uso