Sofiane Boumedine Lexique Dev

Generator

JavaScript 🟡 Mid

Type : 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">// 0

Cas d'usage

Generer des sequences infinies ou implementer des flux de donnees paresseux sans charger tout en memoire.

coreinterview-question