Dino Geek, cerca di aiutarti

Come utilizzare i generatori in JavaScript?


Un generatore in JavaScript è un tipo speciale di funzione che funziona come un iteratore. I generatori possono essere fermati e ripresi, mantenendo il loro contesto (valore di variabile) tra le esecuzioni. Ciò significa che i generatori possono generare una serie di valori su richiesta, invece di calcolarli tutti in anticipo e tenerli in memoria.

Ecco come utilizzare i generatori in JavaScript:

1. Creare un generatore:

Prima di tutto, dobbiamo creare una funzione generatore. Si tratta di una funzione preceduta da un asterisco (\*) e utilizza la parola chiave “yield”.

```
function* myGenerator() { yield ‘valore 1’; yield ‘valore 2’; yield ‘valore 3’;
}
```

In questo esempio, il nostro generatore restituirà ‘valore 1’, ‘valore 2’, e ‘valore 3’ in questo ordine.

1. Utilizzare un generatore:

Ora che abbiamo un generatore, possiamo utilizzarlo nel nostro codice. Creiamo una nuova istanza del generatore e utilizziamo il metodo next() per ottenere il prossimo valore.

```
var gen = myGenerator();

console.log(gen.next().value); // valore 1
console.log(gen.next().value); // valore 2
console.log(gen.next().value); // valore 3
```

Quando si chiama la funzione next(), il generatore riprende l’esecuzione dal punto in cui si è interrotta l’ultima volta. Quando non ci sono più valori da restituire, next() restituirà un oggetto con un valore indefinito e un flag done impostato a true.

1. Usare i generatori con il ciclo for…of:

Un altro modo per utilizzare i generatori in JavaScript è con un ciclo for…of. Questo ciclo itera automaticamente attraverso i valori del generatore.

```
for(let value of myGenerator()) { console.log(value); // valore 1, valore 2, valore 3
}
```

In questo esempio, il ciclo for…of chiama il generatore, chiama il metodo next() ad ogni iterazione, e si ferma quando non ci sono più valori da generare.+

Inoltre, i generatori possono anche ricevere l’input tramite il metodo next(). Questo input diventa il risultato dell’espressione yield corrispondente. Per utilizzare questa caratteristica, è possibile passare un parametro al metodo next():

```
function* myGenerator() { let received = yield ‘valore 1’; console.log(received); // ‘ciao‘
}

let gen = myGenerator();
console.log(gen.next().value); // ‘valore 1‘
console.log(gen.next(‘ciao’)); // {value: undefined, done: true}
```

In questo esempio, la stringa ‘ciao’ viene passata al metodo next() come un parametro, e viene quindi stampata dalla funzione generatore.


Genera semplicemente articoli per ottimizzare il tuo SEO
Genera semplicemente articoli per ottimizzare il tuo SEO





DinoGeek offre articoli semplici su tecnologie complesse

Vuoi essere citato in questo articolo? È molto semplice, contattaci a dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nome 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 |






Avviso Legale / Condizioni Generali di Utilizzo