Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2016年9月以降、すべてのブラウザーで利用可能です。
function* キーワードは、式の中でジェネレーター関数を定義するために使用することができます。
また、ジェネレーター関数はfunction*宣言を使用して定義することもできます。
メモ: 式文は、function*宣言との曖昧さを避けるため、キーワード function で始めることはできません。function キーワードが式を始めるのは、文を受け入れないコンテキストで現れる場合のみです。
関数名。省略可。省略した場合、関数は無名関数として認識されます。名前は関数本体のみにローカルです。
paramN 省略可関数の形式引数の名前。 引数の構文については、関数リファレンスを参照してください。
statements 省略可関数の本体を構成する文。
function* 式は function* 宣言ととてもよく似ており、構文もほとんど同じです。function* 式と function* 文の主な違いは、function* 式で無名ジェネレーター関数を生成する場合は関数名が省略できる点です。 function* 式は、定義すると直ちに実行する IIFE (即時実行関数式)として使用できるため、その場で作成する反復可能イテレーターオブジェクトを実現することができます。詳細は関数に関する章も参照してください。
次の例では、無名ジェネレーター関数を定義し、x に代入します。この関数は引数の二乗を生成します。
| ECMAScript® 2027 Language Specification # sec-generator-function-definitions |
ブラウザー互換性一覧表を表示するには、JavaScript を有効にしてください。
より良いインターネットのための青写真。
このコンテンツの一部は、©1998–2026 個人の mozilla.org 協力者です。コンテンツはクリエイティブ・コモンズ・ライセンスのもとで利用できます。