O que é "função *" em JavaScript?

Dentroest page Encontrei um novo tipo de função 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;
    }
}

Eu já seio queyield, let e[?,?]=[?,?] Fa, mas não faço ideia do que ofunction* é para ser. O que é isso

P.S. não se incomode em tentar o Google, éimpossíve para procurar expressões com asteriscos eles são usados como espaços reservados).

questionAnswers(6)

yourAnswerToTheQuestion