jskatas.org Continuously Learn JavaScript. Your Way.

Generator: iterator

Generators return iterable objects

Generators returns an iterable object

a generator returns an object
function* generatorFunction(){ yield 1; yield 2; } const generator = generatorFunction(); const typeOfTheGenerator = ''; assert.equal(typeOfTheGenerator, typeof generator);
a generator object has a key Symbol.iterator
function* generatorFunction(){ yield 1; yield 2; } const generator = generatorFunction(); const key = '???'; assert.equal(key in generator, true);
the Symbol.iterator is a function
function* generatorFunction(){ yield 1; yield 2; } const generator = generatorFunction(); const theType = typeof generator.Symbol.iterator; assert.equal(theType, 'function');
can be looped with for-of, which expects an iterable
function* generatorFunction(){ yield 1; yield 2; } const generator = generatorFunction(); function iterateForOf(){ for (let value of {}) { // no statements needed } } assert.doesNotThrow(iterateForOf);

Required Knowledge

Related Katas

Generator

Difficulty Level

TBD

First Published

3 June 2015

Stats

4 tests to solve