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 の定義

ブラウザーの互換性

BCD tables only load in the browser

関連情報