This article is in need of an editorial review.
This translation is incomplete. Please help translate this article from English.
function*演算子は式の中でジェネレータ関数を定義します。
構文
function* [name]([param1[, param2[, ..., paramN]]]) {
statements
}
引数
name- 関数名。省略可。 省略した場合、関数は無名関数として認識されます。名前は関数本体のみにローカルです。
paramN- 関数に渡される引数の名前。関数は最大 255 の引数を持ち得ます。
statements- 関数の本体を構成するステートメント。
説明
function*式はfunction* statementとよく似ており、同じ書式でもあります。function*式とfunction*ステートメントの主な違いは、無名関数を生成するためにfunction*式で省略された関数名です。詳細はfunctionsをご覧ください。
例
次の例では、無名ジェネレータ関数を定義し、xに割り当てます。関数は引数の二乗をもたらします。:
var x = function*(y) {
yield y * y;
};
仕様
| 仕様 | ステータス | コメント |
|---|---|---|
| ECMAScript 6 (ECMA-262) The definition of 'function*' in that specification. |
勧告候補 | 初期定義。 |
ブラウザ実装状況
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| 基本サポート | (有) | 26.0 (26.0) | ? | ? | ? |
yield* |
(有) | 27.0 (27.0) | ? | ? | ? |
| 機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| 基本サポート | ? | (有) | 26.0 (26.0) | ? | ? | ? |
yield* |
? | (有) | 27.0 (27.0) | ? | ? | ? |