Generator.prototype.return()

return() メソッドは、指定された値を返してジェネレーターを終了します。

構文

gen.return(value)

引数

value
返却する値です。

返値

この関数に引数として与えられている値を返します。

return() の使用

次の例では簡単なジェネレーターと return メソッドを示します。

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

const g = gen();

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

return(value) がすでに "完了" の状態のジェネレーターで呼び出されると、ジェネレーターは "完了" の状態のままになります。

引数が提供されなかった場合、返却されるオブジェクトの value プロパティは .next() の場合と同じになります。引数が提供された場合は、返却されるオブジェクトの value プロパティの値に設定されます。

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

const g = gen();
g.next(); // { value: 1, done: false }
g.next(); // { value: 2, done: false }
g.next(); // { value: 3, done: false }
g.next(); // { value: undefined, done: true }
g.return(); // { value: undefined, done: true }
g.return(1); // { value: 1, done: true }

仕様書

仕様書
ECMAScript (ECMA-262)
Generator.prototype.return の定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
returnChrome 完全対応 50Edge 完全対応 13Firefox 完全対応 38IE 未対応 なしOpera 完全対応 37Safari 完全対応 10WebView Android 完全対応 50Chrome Android 完全対応 50Firefox Android 完全対応 38Opera Android 完全対応 37Safari iOS 完全対応 10Samsung Internet Android 完全対応 5.0nodejs 完全対応 6.0.0

凡例

完全対応  
完全対応
未対応  
未対応

関連情報