Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

function* 式

BaselineWidely available

function* キーワードは、式の中でジェネレーター関数を定義するために使用することができます。

試してみましょう

const foo = function* () {  yield "a";  yield "b";  yield "c";};let str = "";for (const val of foo()) {  str = str + val;}console.log(str);// Expected output: "abc"

構文

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

引数

name省略可

関数名。省略可。省略した場合、関数は無名関数として認識されます。名前は関数本体のみにローカルです。

paramN省略可

関数に渡される引数の名前。関数は最大 255 個の引数を持つことができます。

statements

関数の本体を構成する文。

解説

function* 式はfunction* 文ととてもよく似ており、構文もほとんど同じです。function* 式とfunction* 文の主な違いは、function* 式で無名ジェネレーター関数を生成する場合は関数名が省略できる点です。詳細はfunctions をご覧ください。

function* の使用

次の例では、無名ジェネレーター関数を定義し、x に代入します。関数は引数の二乗を生成します。

js
let x = function* (y) {  yield y * y;};

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-generator-function-definitions

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp