La méthode return() renvoie la valeur fournie et termine le générateur.

Syntaxe

gen.return(valeur)

Paramètres

valeur
La valeur à renvoyer

Valeur de retour

La valeur fournie comme argument.

Exemples

Utiliser return()

L'exemple suivant illustre une utilisation simple d'un générateur et de la méthode return().

function* gen() { 
  yield 1;
  yield 2;
  yield 3;
}

var g = gen();

g.next();         // { value: 1, done: false }
g.return("toto"); // { value: "toto", done: true }
g.next();         // { value: undefined, done: true }

Note : Si done vaut true, return(valeur) renverra la même chose que next() : undefined. Si aucun argument n'est fourni, la propriété value de l'objet renvoyé sera la même qu'avec un appel à .next(). Si un argument est fourni, c'est lui qui sera utilisé comme valeur pour l'attribut value du résultat.

function* gen() {
  yield 1;
  yield 2;
  yield 3;
}
var g = gen();
console.log(g.next()); // { value: 1; done: false}
console.log(g.next()); // { value: 2; done: false}
console.log(g.next()); // { value: 3; done: false}
console.log(g.next()); // { value: undefined; done: true}
console.log(g.return()); // { value: undefined; done: true}
console.log(g.return(1)); // { value: 1; done: true}

Spécifications

Spécification État Commentaires
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Generator.prototype.return' dans cette spécification.
Standard Définition initiale.
ECMAScript Latest Draft (ECMA-262)
La définition de 'Generator.prototype.return' dans cette spécification.
Projet  

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
returnChrome Support complet 50Edge Support complet 13Firefox Support complet 38IE Aucun support NonOpera Support complet 37Safari Support complet 10WebView Android Support complet 50Chrome Android Support complet 50Firefox Android Support complet 38Opera Android Support complet OuiSafari iOS Support complet 10Samsung Internet Android Support complet 5.0nodejs Support complet 6.0.0

Légende

Support complet  
Support complet
Aucun support  
Aucun support

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight, mdnwebdocs-bot
Dernière mise à jour par : SphinxKnight,