diff options
Diffstat (limited to 'files/ja/web/javascript/reference/global_objects/map/@@iterator')
| -rw-r--r-- | files/ja/web/javascript/reference/global_objects/map/@@iterator/index.html | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/files/ja/web/javascript/reference/global_objects/map/@@iterator/index.html b/files/ja/web/javascript/reference/global_objects/map/@@iterator/index.html new file mode 100644 index 0000000000..b595f6e06f --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/map/@@iterator/index.html @@ -0,0 +1,94 @@ +--- +title: Map.prototype[@@iterator]() +slug: Web/JavaScript/Reference/Global_Objects/Map/@@iterator +tags: + - ECMAScript 2015 + - Iterator + - JavaScript + - Map + - Method + - Prototype + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Map/@@iterator +original_slug: Web/JavaScript/Reference/Global_Objects/Map/@@iterator +--- +<div>{{JSRef}}</div> + +<p class="seoSummary"><strong><code>@@iterator</code></strong> プロパティの初期値は、 {{jsxref("Map.prototype.entries()", "entries")}} メソッドの初期値と同じ関数オブジェクトです。</p> + +<div>{{EmbedInteractiveExample("pages/js/map-prototype-@@iterator.html")}}</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"><var>myMap</var>[Symbol.iterator]</pre> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p>マップの <strong>iterator</strong> 関数で、既定では {{jsxref("Map.prototype.entries()", "entries()")}} 関数です。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_iterator" name="Using_iterator">[@@iterator]() の使用</h3> + +<pre class="brush:js notranslate">const myMap = new Map() +myMap.set('0', 'foo') +myMap.set(1, 'bar') +myMap.set({}, 'baz') + +const mapIter = myMap[Symbol.iterator]() + +console.log(mapIter.next().value) // ["0", "foo"] +console.log(mapIter.next().value) // [1, "bar"] +console.log(mapIter.next().value) // [Object, "baz"] +</pre> + +<h3 id="Using_iterator_with_for..of" name="Using_iterator_with_for..of">[@@iterator]() と for..of の併用</h3> + +<pre class="brush: js notranslate">const myMap = new Map() +myMap.set('0', 'foo') +myMap.set(1, 'bar') +myMap.set({}, 'baz') + +for (const entry of myMap) { + console.log(entry) +} +// ["0", "foo"] +// [1, "bar"] +// [{}, "baz"] + +for (const [key, value] of myMap) { + console.log(`${key}: ${value}`) +} +// 0: foo +// 1: bar +// [Object]: baz +</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-map.prototype-@@iterator', 'Map.prototype[@@iterator]()')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<p>{{Compat("javascript.builtins.Map.@@iterator")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Map.prototype.entries()")}}</li> + <li>{{jsxref("Map.prototype.keys()")}}</li> + <li>{{jsxref("Map.prototype.values()")}}</li> +</ul> |
