JavaScript

function*(関数宣言)

 編集:2022.07.30 by T.A.

function* 宣言(function キーワードにアスタリスクが付いたもの)は、Generator オブジェクトを返すジェネレーター関数を定義します。

ジェネレーター関数は GeneratorFunction コンストラクターや、関数式の構文を使用して定義することもできます。

function* 関数名([引数[, 引数[, ... 引数]]]) {
 ステートメント
}
関数名 関数の名前。
引数 変数。カンマ「,」で区切る変数リストとする。

...変数 も可能。

ステートメント 関数の本体を記述する。
単純な例
function* idMaker() {
  var index = 0;
  while (true)
    yield index++;
}

var gen = idMaker();

alert(gen.next().value);	//=0
alert(gen.next().value);	//=1
alert(gen.next().value);	//=2
alert(gen.next().value);	//=3
// …
関連

yield


テスト