Generator
JavaScript 🟡 MidType : Concept
Definition
Un generator est une fonction (function*) qui peut suspendre son execution avec yield et la reprendre plus tard. Il retourne un iterator et permet de produire des valeurs a la demande (lazy).
Analogie
Un livre dont tu tournes les pages une par une : tu ne lis la page suivante que quand tu es pret, et tu peux marquer ta position.
Exemple de code
function* fibonacci() {
let [a, b] = [0, 1];
while (true) { yield a; [a, b] = [b, a + b]; }
}
const fib = fibonacci();
console.log(fib.next().value); class="cmt">// 0Cas d'usage
Generer des sequences infinies ou implementer des flux de donnees paresseux sans charger tout en memoire.