Previous: Code structuring Index Next: Contributors

Generators are part of the ECMAScript 6 language specification. Firefox has supported the ECMAScript 6 compliant syntax for generators since 2013-12-10.[1] Node.js (server-side JavaScript) also has supported ES6 generator syntax[2] since 2013-05-15.[citation needed]


function* vehicle(){
  var index = 0;
  while (index < 4)
    yield index++;

var firetruck = vehicle();
var car = vehicle();

console.log(; // 0
console.log(; // 1
console.log(; // 0
console.log(; // 2
console.log(; // 1
console.log(; // 3
console.log(; // undefined

The function* keyword creates a generator function.[3]

Further readingEdit

(FIXME: Say a few more words about generators. Perhaps use some or all of the following as references:

"Generators in Node.js: Common Misconceptions and Three Good Use Cases". "Coroutines no, generators yes. Why coroutines won’t work on the Web". "What Is This Thing Called Generators?". "callbacks vs generators vs coroutines".)


Previous: Code structuring Index Next: Contributors