Qu'est-ce que la fonction “*” en JavaScript?

Dans cette page, j'ai trouvé une nouvelle fonction JavaScript type:

//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;
    }
}

Je sais déjà ce que rendement, let et [?,?]=[?,?] ne, mais n'ont aucune idée de ce que le function* est censé être. Quel est-il?

P. S. n'est pas la peine d'essayer Google, c'est impossible pour rechercher des expressions avec des astérisques (ils sont utilisés comme des espaces réservés).

Le commentaire de l'exemple est assez vieux maintenant, function* en charge la syntaxe dans Firefox depuis v26: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...* . Les anciennes versions utilisé une syntaxe différente.
Quant à Google, il suffit de chercher pour fonction de "star" ou la fonction "astérisque". Voilà comment j'ai trouvé cette question ;).
Ressemble à la * a été retirée le lien de @Nickolay. Voici un lien directement à function* au MDN. Bien sûr, "de base" de soutien depuis v26.
Un autre MDN lien (qui, par ailleurs, j'ai trouvé sur le MDN page liée par l'OP): developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
Un autre utile MDN lien: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...*

OriginalL'auteur string QNA | 2012-03-08