diff options
author | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2021-08-30 00:24:16 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-30 00:24:16 +0900 |
commit | 93b4dd6b26fbce6f5e0c88f102da5b38e0289200 (patch) | |
tree | 65363c820ba9f265acc9dc8a2707050bdf20a92b /files | |
parent | 78e72e01facfaf61aa858851126b7291242186a2 (diff) | |
download | translated-content-93b4dd6b26fbce6f5e0c88f102da5b38e0289200.tar.gz translated-content-93b4dd6b26fbce6f5e0c88f102da5b38e0289200.tar.bz2 translated-content-93b4dd6b26fbce6f5e0c88f102da5b38e0289200.zip |
Web/JavaScript/Reference/Operators/function* を更新 (#2180)
- Markdown化し、2021/08/21時点の英語版に同期
Diffstat (limited to 'files')
-rw-r--r-- | files/ja/web/javascript/reference/operators/function_star_/index.html | 86 | ||||
-rw-r--r-- | files/ja/web/javascript/reference/operators/function_star_/index.md | 73 |
2 files changed, 73 insertions, 86 deletions
diff --git a/files/ja/web/javascript/reference/operators/function_star_/index.html b/files/ja/web/javascript/reference/operators/function_star_/index.html deleted file mode 100644 index 3518adf63b..0000000000 --- a/files/ja/web/javascript/reference/operators/function_star_/index.html +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: function* 式 -slug: Web/JavaScript/Reference/Operators/function* -tags: - - ECMAScript6 - - Function - - Iterator - - JavaScript - - Operator - - Primary Expression - - 演算子 - - 関数 -translation_of: Web/JavaScript/Reference/Operators/function* ---- -<div>{{jsSidebar("Operators")}}</div> - -<p><strong><code>function*</code></strong> キーワードは、式の中でジェネレーター関数を定義するために使用することができます。</p> - -<div>{{EmbedInteractiveExample("pages/js/expressions-functionasteriskexpression.html", "taller")}}</div> - -<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、<a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> - -<h2 id="Syntax" name="Syntax">構文</h2> - -<pre class="syntaxbox notranslate">function* [<var>name</var>]([<var>param1</var>[, <var>param2[</var>, ..., <var>paramN</var>]]]) { - <var>statements</var> -}</pre> - -<h3 id="Parameters" name="Parameters">引数</h3> - -<dl> - <dt><code><var>name</var></code> {{optional_inline}}</dt> - <dd>関数名。省略可。省略した場合、関数は<em>無名関数</em>として認識されます。名前は関数本体のみにローカルです。</dd> - <dt><code><var>paramN</var></code><var> </var> {{optional_inline}}</dt> - <dd>関数に渡される引数の名前。関数は最大 255 の引数を持ち得ます。</dd> - <dt><code><var>statements</var></code></dt> - <dd>関数の本体を構成するステートメント。</dd> -</dl> - -<h2 id="Description" name="Description">解説</h2> - -<p><code>function*</code> 式は {{jsxref('Statements/function*', 'function* 文', "", 1)}}ととてもよく似ており、構文もほとんど同じです。<code>function*</code> 式と <code>function*</code> 文の主な違いは、<code>function*</code> 式で<em>無名</em>ジェネレーター関数を生成するには<em>関数名</em>が省略できる点です。詳細は {{jsxref("Functions", "functions")}} をご覧ください。</p> - -<h2 id="Examples" name="Examples">例</h2> - -<h3 id="Using_function*" name="Using_function*">function* を使用する</h3> - -<p>次の例では、無名ジェネレーター関数を定義し、<code>x</code> に割り当てます。関数は引数の二乗をもたらします:</p> - -<pre class="brush: js notranslate">let x = function*(y) { - yield y * y; -}; -</pre> - -<h2 id="Specifications" name="Specifications">仕様</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">仕様書</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-generator-function-definitions', 'function*')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> - -<p>{{Compat("javascript.operators.function_star")}}</p> - -<h2 id="See_also" name="See_also">関連情報</h2> - -<ul> - <li>{{jsxref("Statements/function*", "function*")}} 文</li> - <li>{{jsxref("GeneratorFunction")}} オブジェクト</li> - <li><a href="/ja/docs/Web/JavaScript/Reference/Iteration_protocols">Iterator プロトコル</a></li> - <li>{{jsxref("Operators/yield", "yield")}}</li> - <li>{{jsxref("Operators/yield*", "yield*")}}</li> - <li>{{jsxref("Function")}} オブジェクト</li> - <li>{{jsxref("Statements/function", "function")}} 文</li> - <li>{{jsxref("Operators/function", "function")}} 式</li> - <li>{{jsxref("Functions_and_function_scope", "関数と関数スコープ", "", 1)}}</li> -</ul> diff --git a/files/ja/web/javascript/reference/operators/function_star_/index.md b/files/ja/web/javascript/reference/operators/function_star_/index.md new file mode 100644 index 0000000000..19a8d1404b --- /dev/null +++ b/files/ja/web/javascript/reference/operators/function_star_/index.md @@ -0,0 +1,73 @@ +--- +title: function* 式 +slug: Web/JavaScript/Reference/Operators/function* +tags: + - ECMAScript 2015 + - Function + - Iterator + - JavaScript + - Language feature + - Operator + - Primary Expression +browser-compat: javascript.operators.generator_function +translation_of: Web/JavaScript/Reference/Operators/function* +--- +{{jsSidebar("Operators")}}</div> + +**`function*`** キーワードは、式の中でジェネレーター関数を定義するために使用することができます。 + +{{EmbedInteractiveExample("pages/js/expressions-functionasteriskexpression.html", + "taller")}} + +## 構文 + +```js +function* [name]([param1[, param2[, ..., paramN]]]) { + statements +} +``` + +### 引数 + +- `name` {{optional_inline}} + - : 関数名。省略可。省略した場合、関数は*無名関数*として認識されます。名前は関数本体のみにローカルです。 +- `paramN` {{optional_inline}} + - : 関数に渡される引数の名前。関数は最大 255 個の引数を持つことができます。 +- `statements` + - : 関数の本体を構成する文。 + +## 解説 + +`function*` 式は {{jsxref('Statements/function*', 'function* 文', "", 1)}}ととてもよく似ており、構文もほとんど同じです。`function*` 式と `function*` 文の主な違いは、`function*` 式で*無名*ジェネレーター関数を生成する場合は*関数名*が省略できる点です。詳細は {{jsxref("Functions", "functions")}} をご覧ください。 + +## 例 + +### function* の使用 + +次の例では、無名ジェネレーター関数を定義し、`x` に代入します。関数は引数の二乗を生成します。 + +```js +let x = function*(y) { + yield y * y; +}; +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{jsxref("Statements/function*", "function*")}} 文 +- {{jsxref("GeneratorFunction")}} オブジェクト +- [反復プロトコル](/ja/docs/Web/JavaScript/Reference/Iteration_protocols) +- {{jsxref("Operators/yield", "yield")}} +- {{jsxref("Operators/yield*", "yield*")}} +- {{jsxref("Function")}} オブジェクト +- {{jsxref("Statements/function", "function")}} 文 +- {{jsxref("Operators/function", "function")}} 式 +- {{jsxref("Functions_and_function_scope", "関数と関数スコープ", "", 1)}} |