Что такое «функция*» в JavaScript?

На этой странице я нашел новый тип функции JavaScript:

// NOTE: "function*" is not supported yet in Firefox.
// Remove the asterisk in order for this code to work in Firefox 13 

function* fibonacci() { // !!! this is the interesting line !!!
    let [prev, curr] = [0, 1];
    for (;;) {
        [prev, curr] = [curr, prev + curr];
        yield curr;
    }
}

Я уже знаю что yield, letи [?,?]=[?,?]делают, но понятия не имеют, что функция*. Что это?

П.С. не пытайтесь использовать Google, невозможноискать выражения со звездочками ( они используются как заполнители).

238
задан thefourtheye 24 April 2014 в 19:00
поделиться