function* 演算子は式の中でジェネレーター関数を定義します。

構文

function* [name]([param1[, param2[, ..., paramN]]]) {
   statements
}

引数

name
関数名。省略可。 省略した場合、関数は無名関数として認識されます。名前は関数本体のみにローカルです。
paramN
関数に渡される引数の名前。関数は最大 255 の引数を持ち得ます。
statements
関数の本体を構成するステートメント。

説明

function* 式は function* ステートメントとよく似ており、同じ書式でもあります。function* 式と function* ステートメントの主な違いは、無名ジェネレーター関数を生成するために function* 式で省略された関数名です。詳細はfunctions をご覧ください。

次の例では、無名ジェネレーター関数を定義し、x に割り当てます。関数は引数の二乗をもたらします:

var x = function*(y) {
   yield y * y;
};

仕様

仕様 ステータス コメント
ECMAScript 2015 (6th Edition, ECMA-262)
function* の定義
標準 初期定義。
ECMAScript Latest Draft (ECMA-262)
function* の定義
ドラフト    

ブラウザー実装状況

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
基本対応 あり あり26 なし あり10
Trailing comma in parameters58 ?52 ?45 ?
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
基本対応 あり あり あり26 あり10 あり
Trailing comma in parameters5858 ?5245 ?7.0

関連情報

ドキュメントのタグと貢献者

このページの貢献者: dskmori, Uemmra3, ambi, shide55
最終更新者: dskmori,