diff options
author | MDN <actions@users.noreply.github.com> | 2021-06-23 00:34:06 +0000 |
---|---|---|
committer | MDN <actions@users.noreply.github.com> | 2021-06-23 00:34:06 +0000 |
commit | 52ccdf1f0a1cee3f0659ac78e81c79dae152399b (patch) | |
tree | b17424899ff0c32cee6820a6921edd9999da6ea1 /files/ja/orphaned | |
parent | d62c8afe56395e9e793dab0f629b2a1694449c82 (diff) | |
download | translated-content-52ccdf1f0a1cee3f0659ac78e81c79dae152399b.tar.gz translated-content-52ccdf1f0a1cee3f0659ac78e81c79dae152399b.tar.bz2 translated-content-52ccdf1f0a1cee3f0659ac78e81c79dae152399b.zip |
[CRON] sync translated content
Diffstat (limited to 'files/ja/orphaned')
16 files changed, 1493 insertions, 0 deletions
diff --git a/files/ja/orphaned/web/api/node/getuserdata/index.html b/files/ja/orphaned/web/api/node/getuserdata/index.html new file mode 100644 index 0000000000..cbee8185f6 --- /dev/null +++ b/files/ja/orphaned/web/api/node/getuserdata/index.html @@ -0,0 +1,69 @@ +--- +title: Node.getUserData() +slug: orphaned/Web/API/Node/getUserData +tags: + - API + - DOM + - Method + - Node + - Obsolete + - Reference + - メソッド +translation_of: Web/API/Node/getUserData +original_slug: Web/API/Node/getUserData +--- +<div>{{APIRef("DOM")}}{{obsolete_header}}</div> + +<p><code><strong>Node.getUserData()</strong></code> メソッドは、以前 {{domxref("Node.setUserData()")}} によってノードに設定されたすべてのユーザーデータを {{domxref("DOMUserData")}} 形式で返します。</p> + +<div class="note"> +<p><code>Node.setUserData</code> および {{domxref("Node.getUserData")}} メソッドはウェブコンテンツから利用できなくなりました。 {{domxref("Element.dataset")}} または <a href="/ja/docs/JavaScript/Reference/Global_Objects/WeakMap"><code>WeakMap</code></a> を代わりに利用することができます。</p> +</div> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox"><em>userData</em> = <em>someNode</em>.getUserData(<em>userKey</em>);</pre> + +<h3 id="Parameters" name="Parameters">引数</h3> + +<ul> + <li><code>userKey</code> は指定されたノードに関連付けられた特定のデータを選択するためのキーです。指定されたノードに複数のキーが、それぞれの値を所持して割り当てられている可能性があります。</li> +</ul> + +<h2 id="Example" name="Example">例</h2> + +<pre class="brush: js">var d = document.setUserData('key', 15, null); +console.log(document.getUserData('key')); // 15</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + <th scope="col">状態</th> + <th scope="col">備考</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('DOM3 Core', 'core.html#Node3-getUserData', 'Node.getUserData()')}}</td> + <td>{{Spec2('DOM3 Core')}}</td> + <td>初回定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("api.Node.getUserData")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("Node.setUserData()")}}</li> + <li>{{domxref("UserDataHandler")}}</li> + <li>{{domxref("DOMUserData")}}</li> +</ul> diff --git a/files/ja/orphaned/web/javascript/reference/global_objects/map/@@iterator/index.html b/files/ja/orphaned/web/javascript/reference/global_objects/map/@@iterator/index.html new file mode 100644 index 0000000000..b94b3623f6 --- /dev/null +++ b/files/ja/orphaned/web/javascript/reference/global_objects/map/@@iterator/index.html @@ -0,0 +1,96 @@ +--- +title: Map.prototype[@@iterator]() +slug: orphaned/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> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<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> diff --git a/files/ja/orphaned/web/javascript/reference/global_objects/map/@@species/index.html b/files/ja/orphaned/web/javascript/reference/global_objects/map/@@species/index.html new file mode 100644 index 0000000000..dec8126b30 --- /dev/null +++ b/files/ja/orphaned/web/javascript/reference/global_objects/map/@@species/index.html @@ -0,0 +1,65 @@ +--- +title: get Map[@@species] +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/@@species +tags: + - ECMAScript 2015 + - JavaScript + - Map + - Property +translation_of: Web/JavaScript/Reference/Global_Objects/Map/@@species +original_slug: Web/JavaScript/Reference/Global_Objects/Map/@@species +--- +<div>{{JSRef}}</div> + +<p><strong><code>Map[@@species]</code></strong> アクセサープロパティは、 <code>Map</code> コンストラクターを返します。</p> + +<h2 id="Description" name="Description">解説</h2> + +<p>species アクセサープロパティは <code>Map</code> オブジェクトのデフォルトコンストラクターを返します。サブクラスのコンストラクターは、コンストラクターに代入して変更することによりオーバーライドすることができます。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Species_in_ordinary_objects" name="Species_in_ordinary_objects">通常のオブジェクトの species</h3> + +<p>species プロパティはデフォルトコンストラクター関数を返しますので、 <code>Map</code> オブジェクトには <code>Map</code> コンストラクターを返します。</p> + +<pre class="brush: js notranslate">Map[Symbol.species]; // function Map()</pre> + +<h3 id="Species_in_derived_objects" name="Species_in_derived_objects">派生オブジェクトの species</h3> + +<p>派生したコレクションオブジェクトの中では (例えばカスタムマップである <code>MyMap</code>)、 <code>MyMap</code> の species は <code>MyMap</code> コンストラクターになっています。しかし、これをオーバーライドして、派生クラスのメソッド内で親の <code>Map</code> オブジェクトを返したい場合があります。</p> + +<pre class="brush: js notranslate">class MyMap extends Map { + // Overwrite MyMap species to the parent Map constructor + static get [Symbol.species]() { return Map; } +}</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-get-map-@@species', 'get Map [ @@species ]')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Map.@@species")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Map")}}</li> + <li>{{jsxref("Symbol.species")}}</li> +</ul> diff --git a/files/ja/orphaned/web/javascript/reference/global_objects/map/@@tostringtag/index.html b/files/ja/orphaned/web/javascript/reference/global_objects/map/@@tostringtag/index.html new file mode 100644 index 0000000000..71e548d7f2 --- /dev/null +++ b/files/ja/orphaned/web/javascript/reference/global_objects/map/@@tostringtag/index.html @@ -0,0 +1,61 @@ +--- +title: Map.prototype[@@toStringTag] +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/@@toStringTag +tags: + - ECMAScript 2015 + - JavaScript + - Map + - Property + - Prototype + - Reference + - プロパティ +translation_of: Web/JavaScript/Reference/Global_Objects/Map/@@toStringTag +original_slug: Web/JavaScript/Reference/Global_Objects/Map/@@toStringTag +--- +<div>{{JSRef}}</div> + +<p><strong><code>Map[@@toStringTag]</code></strong> プロパティは、 "Map" の初期値を持ちます。</p> + +<div>{{EmbedInteractiveExample("pages/js/map-prototype-@@tostringtag.html","shorter")}}</div> + +<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> + +<div>{{js_property_attributes(0,0,1)}}</div> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox">Map[Symbol.toStringTag]</pre> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_toStringTag" name="Using_toStringTag">toStringTag の使用</h3> + +<pre class="brush:js">Object.prototype.toString.call(new Map()) // "[object Map]" +</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-@@tostringtag', 'Map.prototype[@@toStringTag]')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Map.@@toStringTag")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Symbol.toStringTag")}}</li> +</ul> diff --git a/files/ja/orphaned/web/javascript/reference/global_objects/map/clear/index.html b/files/ja/orphaned/web/javascript/reference/global_objects/map/clear/index.html new file mode 100644 index 0000000000..b3e89d39e1 --- /dev/null +++ b/files/ja/orphaned/web/javascript/reference/global_objects/map/clear/index.html @@ -0,0 +1,73 @@ +--- +title: Map.prototype.clear() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/clear +tags: + - ECMAScript 2015 + - JavaScript + - Map + - Method + - Prototype + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Map/clear +original_slug: Web/JavaScript/Reference/Global_Objects/Map/clear +--- +<div>{{JSRef}}</div> + +<p><strong><code>clear()</code></strong> メソッドは <code>Map</code> オブジェクトからすべての要素を削除します。</p> + +<div>{{EmbedInteractiveExample("pages/js/map-prototype-clear.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>.clear(); +</pre> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p>{{jsxref("undefined")}}.</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_clear" name="Using_clear">clear() の使用</h3> + +<pre class="brush: js notranslate">var myMap = new Map(); +myMap.set('bar', 'baz'); +myMap.set(1, 'foo'); + +myMap.size; // 2 +myMap.has('bar'); // true + +myMap.clear(); + +myMap.size; // 0 +myMap.has('bar') // false +</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.clear', 'Map.prototype.clear')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Map.clear")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Map")}}</li> +</ul> diff --git a/files/ja/orphaned/web/javascript/reference/global_objects/map/delete/index.html b/files/ja/orphaned/web/javascript/reference/global_objects/map/delete/index.html new file mode 100644 index 0000000000..088c1a40e8 --- /dev/null +++ b/files/ja/orphaned/web/javascript/reference/global_objects/map/delete/index.html @@ -0,0 +1,76 @@ +--- +title: Map.prototype.delete() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/delete +tags: + - ECMAScript 2015 + - JavaScript + - Map + - Method + - Prototype + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Map/delete +original_slug: Web/JavaScript/Reference/Global_Objects/Map/delete +--- +<div>{{JSRef}}</div> + +<p><strong><code>delete()</code></strong> メソッドは <code>Map</code> オブジェクトから特定の要素を削除します。</p> + +<div>{{EmbedInteractiveExample("pages/js/map-prototype-delete.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>.delete(<var>key</var>);</pre> + +<h3 id="Parameters" name="Parameters">引数</h3> + +<dl> + <dt><code><var>key</var></code></dt> + <dd><code>Map</code> オブジェクトから削除する要素のキーです。</dd> +</dl> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p><code>Map</code> オブジェクトの要素が削除されたら <code>true</code> を、要素が存在しなければ <code>false</code> を返します。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_delete" name="Using_delete">delete() メソッドの使用</h3> + +<pre class="brush: js notranslate">var myMap = new Map(); +myMap.set('bar', 'foo'); + +myMap.delete('bar'); // 正常に削除出来れば true を返す +myMap.has('bar'); // 存在しない要素を確認すると false を返す +</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.delete', 'Map.prototype.delete')}}</td> + </tr> + <tr> + <td>{{SpecName('ES2015', '#sec-map.prototype.delete', 'Map.prototype.delete')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Map.delete")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Map")}}</li> +</ul> diff --git a/files/ja/orphaned/web/javascript/reference/global_objects/map/entries/index.html b/files/ja/orphaned/web/javascript/reference/global_objects/map/entries/index.html new file mode 100644 index 0000000000..6eb6e759f8 --- /dev/null +++ b/files/ja/orphaned/web/javascript/reference/global_objects/map/entries/index.html @@ -0,0 +1,72 @@ +--- +title: Map.prototype.entries() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/entries +tags: + - ECMAScript 2015 + - Iterator + - JavaScript + - Map + - Method + - Prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Map/entries +original_slug: Web/JavaScript/Reference/Global_Objects/Map/entries +--- +<div>{{JSRef}}</div> + +<p><strong><code>entries()</code></strong> メソッドは、挿入順で <code>Map</code> オブジェクトの要素に対する <code>[key, value]</code> ペアを含む新しい <a href="/ja/docs/Web/JavaScript/Guide/Iterators_and_Generators">Iterator</a> オブジェクトを返します。</p> + +<div>{{EmbedInteractiveExample("pages/js/map-prototype-entries.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"><code><var>myMap</var>.entries()</code></pre> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p>新しい {{jsxref("Map")}} の反復子オブジェクトです。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_entries" name="Using_entries">entries() の使用</h3> + +<pre class="brush:js notranslate">let myMap = new Map() +myMap.set('0', 'foo') +myMap.set(1, 'bar') +myMap.set({}, 'baz') + +let mapIter = myMap.entries() + +console.log(mapIter.next().value) // ["0", "foo"] +console.log(mapIter.next().value) // [1, "bar"] +console.log(mapIter.next().value) // [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.entries', 'Map.prototype.entries')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Map.entries")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Map.prototype.keys()")}}</li> + <li>{{jsxref("Map.prototype.values()")}}</li> +</ul> diff --git a/files/ja/orphaned/web/javascript/reference/global_objects/map/foreach/index.html b/files/ja/orphaned/web/javascript/reference/global_objects/map/foreach/index.html new file mode 100644 index 0000000000..0e4c97db61 --- /dev/null +++ b/files/ja/orphaned/web/javascript/reference/global_objects/map/foreach/index.html @@ -0,0 +1,108 @@ +--- +title: Map.prototype.forEach() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/forEach +tags: + - ECMAScript 2015 + - JavaScript + - Map + - Method + - Prototype + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Map/forEach +original_slug: Web/JavaScript/Reference/Global_Objects/Map/forEach +--- +<div>{{JSRef}}</div> + +<p><span class="seoSummary"><strong><code>forEach()</code></strong> メソッドは、指定された関数を <code>Map</code> オブジェクト内にあるキーと値のペアそれぞれに対して1回ずつ、挿入順に実行します。</span></p> + +<div>{{EmbedInteractiveExample("pages/js/map-prototype-foreach.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>.forEach(<var>callback</var>([<var>value</var>][, <var>key</var>][, <var>map</var>])[, <var>thisArg</var>])</pre> + +<h3 id="Parameters" name="Parameters">引数</h3> + +<dl> + <dt><code><var>callback</var></code></dt> + <dd> + <p><code><var>myMap</var></code> のそれぞれの項目に対して実行される関数。以下の引数を取ります。</p> + + <dl> + <dt><code><var>value</var></code> {{Optional_Inline}}</dt> + <dd>それぞれの反復処理における値です。</dd> + <dt><code><var>key</var></code> {{Optional_Inline}}</dt> + <dd>それぞれの反復処理におけるキーです。</dd> + <dt><code><var>map</var></code> {{Optional_Inline}}</dt> + <dd>反復処理されるマップです (上記の構文ボックスでは <code><var>myMap</var></code> です)。</dd> + </dl> + </dd> + <dt><code><var>thisArg</var></code> {{Optional_Inline}}</dt> + <dd><code><var>callback</var></code> の実行時に <code>this</code> として使用される値です。</dd> +</dl> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p>{{jsxref("undefined")}} です。</p> + +<h2 id="Description" name="Description">解説</h2> + +<p><code>forEach</code> メソッドは、指定された関数 <code><var>callback</var></code> を、マップの実在するそれぞれのキーに対して一度ずつ呼び出します。これは削除されたキーに対しては呼び出しません。ただし、存在していて <code>undefined</code> である値に対しては呼び出します。</p> + +<p><code><var>callback</var></code> は次の <strong>3 つの引数</strong>で呼び出されます。</p> + +<ul> + <li>項目の値 (<code><var>value</var></code>)</li> + <li>項目のキー (<code><var>key</var></code>)</li> + <li>走査中の <strong><code>Map</code> オブジェクト</strong></li> +</ul> + +<p><code><var>thisArg</var></code> 引数が <code>forEach</code> に指定されると、 <code><var>callback</var></code> の呼び出し時にそのオブジェクトが <code>this</code> の値として使用されます。与えられなかった場合は、 <code>undefined</code> が <code>this</code> の値として渡されます。 <code><var>callback</var></code> によって究極に管理される <code>this</code> の値は、<a href="/ja/docs/Web/JavaScript/Reference/Operators/this">関数から見える <code>this</code> を特定する一般規則</a>に従います。</p> + +<p>それぞれの値に対して一度ずつ実行されますが、 <code>forEach</code> が終了するまでに削除され再追加された場合は除きます。 <code><var>callback</var></code> はその前に削除された値に対しては実行されません。 <code>forEach</code> が終了する前に追加された新しい値に対しては実行されます。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Printing_the_contents_of_a_Map_object" name="Printing_the_contents_of_a_Map_object">Map オブジェクトの内容を表示</h3> + +<p>以下のコードは <code>Map</code> オブジェクト内の各要素を1行ずつ出力します。</p> + +<pre class="brush:js notranslate">function logMapElements(value, key, map) { + console.log(`map.get('${key}') = ${value}`) +} +new Map([['foo', 3], ['bar', {}], ['baz', undefined]]).forEach(logMapElements) +// logs: +// "map.get('foo') = 3" +// "map.get('bar') = [object Object]" +// "map.get('baz') = undefined" +</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.foreach', 'Map.prototype.forEach')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Map.forEach")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Array.prototype.forEach()")}}</li> + <li>{{jsxref("Set.prototype.forEach()")}}</li> +</ul> diff --git a/files/ja/orphaned/web/javascript/reference/global_objects/map/get/index.html b/files/ja/orphaned/web/javascript/reference/global_objects/map/get/index.html new file mode 100644 index 0000000000..9bf0cd9795 --- /dev/null +++ b/files/ja/orphaned/web/javascript/reference/global_objects/map/get/index.html @@ -0,0 +1,73 @@ +--- +title: Map.prototype.get() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/get +tags: + - ECMAScript 2015 + - JavaScript + - Map + - Method + - Prototype + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Map/get +original_slug: Web/JavaScript/Reference/Global_Objects/Map/get +--- +<div>{{JSRef}}</div> + +<p><strong><code>get()</code></strong> メソッドは、指定された要素を <code>Map</code> オブジェクトから返します。指定されたキーに関連付けられた値がオブジェクトである場合は、そのオブジェクトの参照を受け取ることになり、そのオブジェクトに対して変更を行った場合は、 <code>Map</code> オブジェクトの中にあるものに変更が行われます。</p> + +<div>{{EmbedInteractiveExample("pages/js/map-prototype-get.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>.get(<var>key</var>)</pre> + +<h3 id="Parameters" name="Parameters">引数</h3> + +<dl> + <dt><code><var>key</var></code></dt> + <dd><code>Map</code> オブジェクトから返される要素のキーです。</dd> +</dl> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p>指定されたキーに関連付けられた要素が返されます。 <code>Map</code> オブジェクト内にキーが見つからない場合は、 <code>undefined</code> を返されます。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_get" name="Using_get">Using get()</h3> + +<pre class="brush: js notranslate">let myMap = new Map(); +myMap.set('bar', 'foo'); + +myMap.get('bar'); // "foo" を返す +myMap.get('baz'); // undefined を返す +</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様書</th> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-map.prototype.get', 'Map.prototype.get')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Map.get")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Map")}}</li> + <li>{{jsxref("Map.prototype.set()")}}</li> + <li>{{jsxref("Map.prototype.has()")}}</li> +</ul> diff --git a/files/ja/orphaned/web/javascript/reference/global_objects/map/has/index.html b/files/ja/orphaned/web/javascript/reference/global_objects/map/has/index.html new file mode 100644 index 0000000000..24cc796b66 --- /dev/null +++ b/files/ja/orphaned/web/javascript/reference/global_objects/map/has/index.html @@ -0,0 +1,73 @@ +--- +title: Map.prototype.has() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/has +tags: + - ECMAScript 2015 + - JavaScript + - Map + - Method + - Prototype + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Map/has +original_slug: Web/JavaScript/Reference/Global_Objects/Map/has +--- +<div>{{JSRef}}</div> + +<p><strong><code>has()</code></strong> メソッドは、指定されたキーに対する要素が存在するかどうかを示す論理値を返します。</p> + +<div>{{EmbedInteractiveExample("pages/js/map-prototype-has.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>.has(<var>key</var>)</pre> + +<h3 id="Parameters" name="Parameters">引数</h3> + +<dl> + <dt><code><var>key</var></code></dt> + <dd><code>Map</code> オブジェクト内に存在するかテストするための要素のキーです。</dd> +</dl> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p>特定のキーに対する要素が <code>Map</code> オブジェクト内に存在していたら、<code>true</code> を返します。さもなければ、<code>false</code> を返します。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_has" name="Using_has">has() の使用</h3> + +<pre class="brush: js notranslate">let myMap = new Map() +myMap.set('bar', "foo") + +myMap.has('bar') // returns true +myMap.has('baz') // returns false +</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様書</th> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-map.prototype.has', 'Map.prototype.has')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Map.has")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Map")}}</li> + <li>{{jsxref("Map.prototype.set()")}}</li> + <li>{{jsxref("Map.prototype.get()")}}</li> +</ul> diff --git a/files/ja/orphaned/web/javascript/reference/global_objects/map/index.html b/files/ja/orphaned/web/javascript/reference/global_objects/map/index.html new file mode 100644 index 0000000000..622df5464a --- /dev/null +++ b/files/ja/orphaned/web/javascript/reference/global_objects/map/index.html @@ -0,0 +1,370 @@ +--- +title: Map +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map +tags: + - Class + - ECMAScript 2015 + - JavaScript + - Map + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Map +original_slug: Web/JavaScript/Reference/Global_Objects/Map +--- +<div>{{JSRef}}</div> + +<p><span class="seoSummary"><strong><code>Map</code></strong> オブジェクトはキーと値のペアを保持し、キーが最初に挿入された順序を覚えています。</span>キーや値には任意の値 (オブジェクトと{{glossary("Primitive", "プリミティブ値")}})を使用することができます。</p> + +<h2 id="Description" name="Description">解説</h2> + +<p><code>Map</code> オブジェクトは、その要素について挿入順で反復処理を行うことができます。 {{jsxref("Statements/for...of", "for...of")}} ループは各反復で <code>[<var>キー</var>, <var>値</var>]</code> の配列を返します。</p> + +<h3 id="Key_equality" name="Key_equality">キーの等価性</h3> + +<ul> + <li>キーの等価性は <a href="/ja/docs/Web/JavaScript/Equality_comparisons_and_sameness#Same-value-zero_equality"><code>sameValueZero</code></a> アルゴリズムに基づきます。</li> + <li>{{jsxref("NaN")}} は <code>NaN</code> と同じとみなされ (<code>NaN !== NaN</code> であっても)、他の値はすべて <code>===</code> 演算子の意味に従って等価性が考慮されます。</li> + <li>現在の ECMAScript 仕様書では、 <code>-0</code> と <code>+0</code> は等しいと考えられています。但し、以前の草稿ではそのようになっていませんでした。詳細は <em>"Value equality for -0 and 0"</em> を<a href="#Browser_compatibility">ブラウザーの互換性</a>一覧で確認してください。</li> +</ul> + +<h3 id="Objects_vs._Maps" name="Objects_vs._Maps">Object と Map の比較</h3> + +<p>{{jsxref("Object")}} と <code>Map</code> は似ています。 — どちらもキーを値に設定したり、それらの値を受け取ったり、キーを削除したり、キーに何かが格納されているかどうかを判定したりすることができます。この意味で (そして他の内蔵オブジェクトがなかったため)、従来 <code>Object</code> は <code>Map</code> として使われてきました。</p> + +<p>しかし、いくつかの場面で <code>Map</code> の方が勝るような重要な違いがあります。</p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="row"></th> + <th scope="col">Map</th> + <th scope="col">Object</th> + </tr> + </thead> + <tbody> + <tr> + <th scope="row">思いがけないキー</th> + <td><code>Map</code> は既定では何もキーを持っていません。明示的に設定したものだけを含みます。</td> + <td> + <p><code>Object</code> にはプロトタイプがあります。よって既定のキーを含んでいるので、注意しないと自分のキーと衝突する可能性があります。</p> + + <div class="blockIndicator note"> + <p><strong>注:</strong> ES5 では、 {{jsxref("Object.create", "Object.create(null)")}} を使用すると回避できますが、これはめったに行われていません。</p> + </div> + </td> + </tr> + <tr> + <th scope="row">キーの型</th> + <td><code>Map</code> のキーはあらゆる値がなることができます (関数、オブジェクト、あらゆるプリミティブなど)。</td> + <td><code>Object</code> のキーは {{jsxref("String")}} または {{jsxref("Symbol")}} でなければなりません。</td> + </tr> + <tr> + <th scope="row">キーの順序</th> + <td> + <p><code>Map</code> のキーは、単純で直感的な方法で順序付けられます。すなわち、反復処理を行うと、 <code>Map</code> オブジェクトは挿入順でキーを返します。</p> + </td> + <td> + <p>通常の <code>Object</code> のキーは現在では順序付けされていますが、以前はそうではなかったので、順序は複雑です。結果として、プロパティの順序に頼らない方が良いでしょう。</p> + + <p>この順序は ECMAScript 2015 で初めて自身のプロパティに対してのみ定義されましたが、 ECMAScript 2020 では継承されたプロパティに対しても同様に順序が定義されています。 <a href="https://tc39.es/ecma262/#sec-ordinaryownpropertykeys">OrdinaryOwnPropertyKeys</a> と <a href="https://tc39.es/ecma262/#sec-enumerate-object-properties">EnumerateObjectProperties</a> の抽象指定操作を参照してください。しかし、オブジェクトのプロパティが<strong>すべて</strong>反復処理される単一の単一のメカニズムはないことに注意してください。 ({{jsxref("Statements/for...in", "for-in")}} は列挙可能な文字列キーのプロパティのみを含む、 {{jsxref("Object.keys")}} は自分自身の列挙可能な文字列キーのプロパティのみを含む、 {{jsxref("Object.getOwnPropertyNames")}} は列挙不可能な場合でも自分自身の文字列キーのプロパティを含む、 {{jsxref("Object.getOwnPropertySymbols")}} は、 <code>Symbol</code> キーを持つプロパティに対しても同じことを行う、など。)</p> + </td> + </tr> + <tr> + <th scope="row"> + <p>大きさ</p> + </th> + <td><code>Map</code> の中の項目数は、 {{jsxref("Map.prototype.size", "size")}} プロパティで簡単に得ることができます。 property.</td> + <td><code>Object</code> の中の項目数は、手動で数える必要があります。</td> + </tr> + <tr> + <th scope="row">反復処理</th> + <td><code>Map</code> は <a href="/ja/docs/Web/JavaScript/Guide/iterable">iterable</a> ですので、直接反復処理を行うことができます。</td> + <td><code>Object</code> では反復処理を行うのに、いくつかの形でキーの一覧を取得して、そのうえで反復処理を行う必要があります。</td> + </tr> + <tr> + <th scope="row">性能</th> + <td> + <p>キーと値の組を頻繁に追加したり削除したりすることが求められるシナリオでは、性能がより良くなります。</p> + </td> + <td> + <p>キーと値の組を頻繁に追加したり削除したりすることに最適化されていません。</p> + </td> + </tr> + </tbody> +</table> + +<h3 id="Setting_object_properties" name="Setting_object_properties">オブジェクトプロパティの設定</h3> + +<p>Map オブジェクトに対してオブジェクトプロパティを設定すると正しく動作しますが、混乱を催すことが考えられます。</p> + +<p>たとえば、次の例は一応動作するように見えます。</p> + +<pre class="syntaxbox example-bad brush js notranslate">let wrongMap = new Map() +wrongMap['bla'] = 'blaa' +wrongMap['bla2'] = 'blaaa2' + +console.log(wrongMap) // Map { bla: 'blaa', bla2: 'blaaa2' } +</pre> + +<p>しかし、このようにプロパティを設定すると、 Map データ構造に符合しません。一般的なオブジェクトの機能を使用します。 'bla' の値はクエリを行うための Map に格納されません。データにその他の操作を行うと失敗します。</p> + +<pre class="syntaxbox example-bad brush js notranslate">wrongMap.has('bla') // false +wrongMap.delete('bla') // false +console.log(wrongMap) // Map { bla: 'blaa', bla2: 'blaaa2' }</pre> + +<p>Map にデータを格納する正しい方法は、 <code>set(<var>key</var>, <var>value</var>)</code> メソッドを使用する方法です。</p> + +<pre class="syntaxbox brush js example-good notranslate">let contacts = new Map() +contacts.set('Jessie', {phone: "213-555-1234", address: "123 N 1st Ave"}) +contacts.has('Jessie') // true +contacts.get('Hilary') // undefined +contacts.set('Hilary', {phone: "617-555-4321", address: "321 S 2nd St"}) +contacts.get('Jessie') // {phone: "213-555-1234", address: "123 N 1st Ave"} +contacts.delete('Raymond') // false +contacts.delete('Jessie') // true +console.log(contacts.size) // 1 + +</pre> + +<h2 id="Constructor" name="Constructor">コンストラクター</h2> + +<dl> + <dt>{{jsxref("Map/Map", "Map()")}}</dt> + <dd>新しい <code>Map</code> オブジェクトを生成します。</dd> +</dl> + +<h2 id="Static_properties" name="Static_properties">静的プロパティ</h2> + +<dl> + <dt>{{jsxref("Map.@@species", "get Map[@@species]")}}</dt> + <dd>派生クラスを生成するためのコンストラクター関数です。</dd> +</dl> + +<h2 id="Instance_properties" name="Instance_properties">インスタンスプロパティ</h2> + +<dl> + <dt>{{jsxref("Map.prototype.size")}}</dt> + <dd><code>Map</code> オブジェクトの中のキーと値の組の数を返します。</dd> +</dl> + +<h2 id="Instance_methods" name="Instance_methods">インスタンスメソッド</h2> + +<dl> + <dt>{{jsxref("Map.prototype.clear()")}}</dt> + <dd><code>Map</code>オブジェクトからすべてのキーと値の組を削除します。</dd> + <dt>{{jsxref("Map.delete", "Map.prototype.delete(<var>key</var>)")}}</dt> + <dd><code>Map</code> オブジェクトに要素が存在し、削除された場合は <code>true</code> を返します、要素が存在しなければ <code>false</code> を返します。その後では <code>Map.prototype.has(<var>key</var>)</code> が <code>false</code> を返すようになります。</dd> + <dt>{{jsxref("Map.get", "Map.prototype.get(<var>key</var>)")}}</dt> + <dd><code><var>key</var></code> で指定されたキーに結び付けられた値を返します。存在しない場合は <code>undefined</code> を返します。</dd> + <dt>{{jsxref("Map.has", "Map.prototype.has(<var>key</var>)")}}</dt> + <dd><code><var>key</var></code> で指定されたキーに結び付けられた要素が <code>Map</code> オブジェクト内に存在するかどうかを示す boolean を返します。</dd> + <dt>{{jsxref("Map.set", "Map.prototype.set(<var>key</var>, <var>value</var>)")}}</dt> + <dd><code>Map</code> オブジェクト内の <code><var>key</var></code> で指定されたキーの値を <code><var>value</var></code> に設定します。その <code>Map</code> オブジェクトを返します。</dd> +</dl> + +<h3 id="Iteration_methods" name="Iteration_methods">反復処理メソッド</h3> + +<dl> + <dt>{{jsxref("Map.@@iterator", "Map.prototype[@@iterator]()")}}</dt> + <dd>新しい<strong>イテレーター</strong>オブジェクトを返し、これには <code>Map</code>オブジェクト内の各要素の <strong><code>[<var>key</var>, <var>value</var>] の配列</code></strong>が挿入順で含まれます。</dd> + <dt>{{jsxref("Map.prototype.keys()")}}</dt> + <dd>新しい<strong>イテレーター</strong>オブジェクトを返し、これには <code>Map</code>オブジェクト内の各要素の<strong>キー</strong>が挿入順で含まれます。</dd> + <dt>{{jsxref("Map.prototype.values()")}}</dt> + <dd>新しい<strong>イテレーター</strong>オブジェクトを返し、これには <code>Map</code>オブジェクト内の各要素の<strong>値</strong>が挿入順で含まれます。</dd> + <dt>{{jsxref("Map.prototype.entries()")}}</dt> + <dd><code>Map</code>オブジェクト内の要素に対して挿入順にすべての要素の <code>[<var>key</var>, <var>value</var>]</code> の配列を含む、新しい<strong>イテレーター</strong>オブジェクトを返します。</dd> + <dt>{{jsxref("Map.forEach", "Map.prototype.forEach(<var>callbackFn</var>[, <var>thisArg</var>])")}}</dt> + <dd><code><var>callbackFn</var></code> を、 <code>Map</code> オブジェクトに存在するそれぞれのキーと値の組に対して1回ずつ、挿入順に呼び出します。 <code><var>thisArg</var></code> 引数が <code>forEach</code> に与えられた場合は、それぞれのコールバックでこれを <code>this</code> の値として使用します。</dd> +</dl> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_the_Map_object" name="Using_the_Map_object">Map オブジェクトの使用</h3> + +<pre class="brush: js notranslate">let myMap = new Map() + +let keyString = '文字列' +let keyObj = {} +let keyFunc = function() {} + +// 値を設定する +myMap.set(keyString, "'文字列' と結び付けられた値") +myMap.set(keyObj, "keyObj と結び付けられた値") +myMap.set(keyFunc, "keyFunc と結び付けられた値") + +myMap.size // 3 + +// 値を取得する +myMap.get(keyString) // "'文字列' と結び付けられた値" +myMap.get(keyObj) // "keyObj と結び付けられた値" +myMap.get(keyFunc) // "keyFunc と結び付けられた値" + +myMap.get('文字列') // "'文字列' と結び付けられた値" + // keyString === '文字列' であるため +myMap.get({}) // undefined, keyObj !== {} であるため +myMap.get(function() {}) // undefined, keyFunc !== function () {} であるため +</pre> + +<h3 id="Using_NaN_as_Map_keys" name="Using_NaN_as_Map_keys">NaN を Map のキーとして使用</h3> + +<p>{{jsxref("NaN")}} もまたキーとして使うことができます。すべての <code>NaN</code> は自身と等しくない (<code>NaN !== NaN</code> は真) にもかかわらず、以下の例は動作します。これは <code>NaN</code> が互いに区別できないためです。</p> + +<pre class="brush: js notranslate">let myMap = new Map() +myMap.set(NaN, 'not a number') + +myMap.get(NaN) +// "not a number" + +let otherNaN = Number('foo') +myMap.get(otherNaN) +// "not a number" +</pre> + +<h3 id="Iterating_Map_with_for..of" name="Iterating_Map_with_for..of">for..of を使用した Map の反復処理</h3> + +<p>Map は <code>for..of</code> ループを使用して反復処理を行うことができます。</p> + +<pre class="brush: js notranslate">let myMap = new Map() +myMap.set(0, 'zero') +myMap.set(1, 'one') + +for (let [key, value] of myMap) { + console.log(key + ' = ' + value) +} +// 0 = zero +// 1 = one + +for (let key of myMap.keys()) { + console.log(key) +} +// 0 +// 1 + +for (let value of myMap.values()) { + console.log(value) +} +// zero +// one + +for (let [key, value] of myMap.entries()) { + console.log(key + ' = ' + value) +} +// 0 = zero +// 1 = one +</pre> + +<h3 id="Iterating_Map_with_forEach" name="Iterating_Map_with_forEach">forEach() で Map を反復処理</h3> + +<p>Map は {{jsxref("Map.prototype.forEach", "forEach()")}} メソッドを使用して反復できます。</p> + +<pre class="brush: js notranslate">myMap.forEach(function(value, key) { + console.log(key + ' = ' + value) +}) +// 0 = zero +// 1 = one +</pre> + +<h3 id="Relation_with_Array_objects" name="Relation_with_Array_objects">Array オブジェクトとの関係</h3> + +<pre class="brush: js notranslate">let kvArray = [["キー1", "値1"], ["キー2", "値2"]]; + +// 通常の Map コンストラクターを使って、キー・値の 2 次元配列をマップに変換する +let myMap = new Map(kvArray) + +myMap.get("キー1") // "値1" を返す + +// 展開演算子を使って、マップをキー・値の 2 次元配列に変換する +console.log(Array.from(myMap)) // kvArray とまったく同じ Array を表示する + +// あるいは展開演算子をキーまたは値のイテレーターに使って、キーまたは値のみの配列を得る +console.log([...myMap]) + +// または keys() や values() のイテレーターを使用して配列に変換する +console.log(Array.from(myMap.keys())) // ["key1", "key2"] が出力される +</pre> + +<h3 id="Cloning_and_merging_Maps" name="Cloning_and_merging_Maps">Map の複製と混合</h3> + +<p><code>Array</code> と同様に、 <code>Map</code> は複製することができます。</p> + +<pre class="brush: js notranslate">let original = new Map([ + [1, 'one'] +]) + +let clone = new Map(original) + +console.log(clone.get(1)) // one +console.log(original === clone) // false (useful for shallow comparison)</pre> + +<div class="blockIndicator note"> +<p><strong>重要:</strong> <em>データ自身</em>は複製されないことに注意しておいてください。</p> +</div> + +<p>Map はキーの固有性を保持しながら混合可能です。</p> + +<pre class="brush: js notranslate">let first = new Map([ + [1, 'one'], + [2, 'two'], + [3, 'three'], +]) + +let second = new Map([ + [1, 'uno'], + [2, 'dos'] +]) + +// 2つのマップを混合します。重複するキーは後勝ちになります。 +// スプレッド演算子は基本的に Map を Array に変換します。 +let merged = new Map([...first, ...second]) + +console.log(merged.get(1)) // uno +console.log(merged.get(2)) // dos +console.log(merged.get(3)) // three</pre> + +<p>Map は Array と混合することもできます。</p> + +<pre class="brush: js notranslate">let first = new Map([ + [1, 'one'], + [2, 'two'], + [3, 'three'], +]) + +let second = new Map([ + [1, 'uno'], + [2, 'dos'] +]) + +// マップと配列を混合します。重複するキーは後勝ちになります。 +let merged = new Map([...first, ...second, [1, 'eins']]) + +console.log(merged.get(1)) // eins +console.log(merged.get(2)) // dos +console.log(merged.get(3)) // three</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-objects', 'Map')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Map")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Set")}}</li> + <li>{{jsxref("WeakMap")}}</li> + <li>{{jsxref("WeakSet")}}</li> +</ul> diff --git a/files/ja/orphaned/web/javascript/reference/global_objects/map/keys/index.html b/files/ja/orphaned/web/javascript/reference/global_objects/map/keys/index.html new file mode 100644 index 0000000000..d63306551c --- /dev/null +++ b/files/ja/orphaned/web/javascript/reference/global_objects/map/keys/index.html @@ -0,0 +1,72 @@ +--- +title: Map.prototype.keys() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/keys +tags: + - ECMAScript 2015 + - Iterator + - JavaScript + - Map + - Method + - Prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Map/keys +original_slug: Web/JavaScript/Reference/Global_Objects/Map/keys +--- +<div>{{JSRef}}</div> + +<p><strong><code>keys()</code></strong> メソッドは、 <code>Map</code> オブジェクトに挿入された要素のキーを挿入順に列挙する新しい<strong><a href="/ja/docs/Web/JavaScript/Guide/Iterators_and_Generators">イテレーター</a></strong>オブジェクトを返します。</p> + +<div>{{EmbedInteractiveExample("pages/js/map-prototype-keys.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>.keys()</pre> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p>{{jsxref("Map")}} の新しいイテレーターオブジェクト。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_keys" name="Using_keys">keys() の使用</h3> + +<pre class="brush:js notranslate">var myMap = new Map(); +myMap.set('0', 'foo'); +myMap.set(1, 'bar'); +myMap.set({}, 'baz'); + +var mapIter = myMap.keys(); + +console.log(mapIter.next().value); // "0" +console.log(mapIter.next().value); // 1 +console.log(mapIter.next().value); // Object +</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.keys', 'Map.prototype.keys')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Map.keys")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Map.prototype.entries()")}}</li> + <li>{{jsxref("Map.prototype.values()")}}</li> +</ul> diff --git a/files/ja/orphaned/web/javascript/reference/global_objects/map/map/index.html b/files/ja/orphaned/web/javascript/reference/global_objects/map/map/index.html new file mode 100644 index 0000000000..863d4759e4 --- /dev/null +++ b/files/ja/orphaned/web/javascript/reference/global_objects/map/map/index.html @@ -0,0 +1,65 @@ +--- +title: Map() コンストラクター +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/Map +tags: + - Constructor + - JavaScript + - Map + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Map/Map +original_slug: Web/JavaScript/Reference/Global_Objects/Map/Map +--- +<div>{{JSRef}}</div> + +<p><strong><code>Map()</code> コンストラクター</strong>は、 {{jsxref("Map")}} オブジェクトを生成します。</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox notranslate">new Map([<var>iterable</var>])</pre> + +<h3 id="Parameters" name="Parameters">引数</h3> + +<dl> + <dt><code><var>iterable</var></code></dt> + <dd>{{jsxref("Array")}} または他の<a href="/ja/docs/Web/JavaScript/Guide/iterable">反復処理可能</a>なオブジェクトで、要素はキーと値の組です。 (たとえば、 <code>[[ 1, 'one' ],[ 2, 'two' ]]</code> のような2つの要素を持つ配列。) それぞれのそれぞれのキーと値の組が新しい <code>Map</code> に追加されます。</dd> +</dl> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Creating_a_new_Map" name="Creating_a_new_Map">新しい Map の生成</h3> + +<pre class="brush: js notranslate">let myMap = new Map([ + [1, 'one'], + [2, 'two'], + [3, 'three'], +]) +</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-constructor', 'Map constructor')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Map.Map")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Set")}}</li> + <li>{{jsxref("WeakMap")}}</li> + <li>{{jsxref("WeakSet")}}</li> +</ul> diff --git a/files/ja/orphaned/web/javascript/reference/global_objects/map/set/index.html b/files/ja/orphaned/web/javascript/reference/global_objects/map/set/index.html new file mode 100644 index 0000000000..349c7a8776 --- /dev/null +++ b/files/ja/orphaned/web/javascript/reference/global_objects/map/set/index.html @@ -0,0 +1,88 @@ +--- +title: Map.prototype.set() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/set +tags: + - ECMAScript 2015 + - JavaScript + - Map + - Method + - Prototype + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Map/set +original_slug: Web/JavaScript/Reference/Global_Objects/Map/set +--- +<div>{{JSRef}}</div> + +<p><strong><code>set()</code></strong> メソッドは、指定されたキーと値を持つ要素を <code>Map</code> オブジェクトに追加したり、更新したりします。</p> + +<div>{{EmbedInteractiveExample("pages/js/map-prototype-set.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>.set(<var>key</var>, <var>value</var>)</pre> + +<h3 id="Parameters" name="Parameters">引数</h3> + +<dl> + <dt><code><var>key</var></code></dt> + <dd><code>Map</code> オブジェクトに追加する要素のキーです。</dd> + <dt><code><var>value</var></code></dt> + <dd><code>Map</code> オブジェクトに追加する要素の値です。</dd> +</dl> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p><code>Map</code>オブジェクト。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_set" name="Using_set">set() の使用</h3> + +<pre class="brush: js notranslate">let myMap = new Map() + +// マップに新しい要素を追加する +myMap.set('bar', 'foo') +myMap.set(1, 'foobar') + +// マップにある要素を更新する +myMap.set('bar', 'baz') +</pre> + +<h3 id="Using_the_set_with_chaining" name="Using_the_set_with_chaining">set() のメソッドチェーンの使用</h3> + +<p><code>set()</code> メソッドは <code>Map</code> オブジェクトを返すため、以下のようにメソッドチェーンを作ることができます。</p> + +<pre class="brush: js notranslate">// チェーンを使用してマップに新しい要素を追加する +myMap.set('bar', 'foo') + .set(1, 'foobar') + .set(2, 'baz'); +</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様書</th> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-map.prototype.set', 'Map.prototype.set')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Map.set")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Map")}}</li> + <li>{{jsxref("Map.prototype.get()")}}</li> + <li>{{jsxref("Map.prototype.has()")}}</li> +</ul> diff --git a/files/ja/orphaned/web/javascript/reference/global_objects/map/size/index.html b/files/ja/orphaned/web/javascript/reference/global_objects/map/size/index.html new file mode 100644 index 0000000000..ba6111dd96 --- /dev/null +++ b/files/ja/orphaned/web/javascript/reference/global_objects/map/size/index.html @@ -0,0 +1,61 @@ +--- +title: Map.prototype.size +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/size +tags: + - ECMAScript 2015 + - JavaScript + - Map + - Property +translation_of: Web/JavaScript/Reference/Global_Objects/Map/size +original_slug: Web/JavaScript/Reference/Global_Objects/Map/size +--- +<div>{{JSRef}}</div> + +<p><strong><code>size</code></strong> アクセサープロパティは、 {{jsxref("Map")}} オブジェクトにある要素の数を返します。</p> + +<div>{{EmbedInteractiveExample("pages/js/map-prototype-size.html")}}</div> + +<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> + +<h2 id="Description" name="Description">解説</h2> + +<p><code>size</code> の値は <code>Map</code> オブジェクトにいくつの項目があるかを表す整数値です。 <code>size</code> の set アクセサー関数は <code>undefined</code> です。このプロパティを変更することはできません。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_size" name="Using_size">size の使用</h3> + +<pre class="brush:js notranslate">var myMap = new Map(); +myMap.set('a', 'alpha'); +myMap.set('b', 'beta'); +myMap.set('g', 'gamma'); + +myMap.size // 3 +</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-get-map.prototype.size', 'Map.prototype.size')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Map.size")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Map")}}</li> +</ul> diff --git a/files/ja/orphaned/web/javascript/reference/global_objects/map/values/index.html b/files/ja/orphaned/web/javascript/reference/global_objects/map/values/index.html new file mode 100644 index 0000000000..560bc8d901 --- /dev/null +++ b/files/ja/orphaned/web/javascript/reference/global_objects/map/values/index.html @@ -0,0 +1,71 @@ +--- +title: Map.prototype.values() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/values +tags: + - ECMAScript 2015 + - Iterator + - JavaScript + - Map + - Method + - Prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Map/values +original_slug: Web/JavaScript/Reference/Global_Objects/Map/values +--- +<div>{{JSRef}}</div> + +<p><strong><code>values()</code></strong> メソッドは、 <code>Map</code> オブジェクトに挿入された要素を挿入順に列挙する新しい<strong><a href="/ja/docs/Web/JavaScript/Guide/Iterators_and_Generators">イテレーター</a></strong>オブジェクトを返します。</p> + +<div>{{EmbedInteractiveExample("pages/js/map-prototype-values.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>.values()</pre> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p>{{jsxref("Map")}} の新しいイテレーターオブジェクト。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_values" name="Using_values">values() の使用</h3> + +<pre class="brush:js notranslate">var myMap = new Map(); +myMap.set('0', 'foo'); +myMap.set(1, 'bar'); +myMap.set({}, 'baz'); + +var mapIter = myMap.values(); + +console.log(mapIter.next().value); // "foo" +console.log(mapIter.next().value); // "bar" +console.log(mapIter.next().value); // "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.values', 'Map.prototype.values')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Map.values")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Map.prototype.entries()")}}</li> + <li>{{jsxref("Map.prototype.keys()")}}</li> +</ul> |