Non-standard. Ce protocole historique est une fonctionnalité spécifique à SpiderMonkey et sera supprimé plus tard. Pour utiliser des itérations par la suite, veuillez utiliser des boucles for..of ainsi que le protocole itérateur.
Le protocole itérateur obsolète, spécifique à Firefox
Avant la version 26, Firefox implémentait un autre protocole d'itération semblable à celui défini par ES2015.
Un objet est un itérateur historique lorsqu'il implémente une méthode next()
avec la sémantique suivante et lorsqu'il renvoie une exception StopIteration
à la fin de l'itération :
Propriété | Valeur |
---|---|
next |
Une fonction sans argument qui renvoie une valeur. |
Les différences entre le protocole historique et celui d'ES2015
- La valeur était directement renvoyée par la fonction
next
alors qu'avec le protocole ES2015, elle est contenue dans une propriétévalue
- La fin de l'itération était signalée par un objet
StopIteration
.
Un exemple simple utilisant l'ancien protocole
Exemple
function créerItérateur(tableau){ var nextIndex = 0; return { next: function(){ if(nextIndex < tableau.length){ return tableau[nextIndex++]; else throw new StopIteration(); } } } var it = créerItérateur(['yo', 'ya']); console.log(it.next()); // 'yo' console.log(it.next()); // 'ya' try{ console.log(it.next()); } catch(e){ if(e instanceof StopIteration){ // fin de l'itération } }
Voir aussi
Étiquettes et contributeurs liés au document
Étiquettes :
Contributeurs à cette page :
SphinxKnight
Dernière mise à jour par :
SphinxKnight,