JavaScript <その他リファレンス メモ> 言語 等CSSHTMLJavaScriptPython ライブラリ・プラットフォームjQuerymicro:bitXamarin ドキュメンテーションDoxygenJSDocMarkdownSHFBXML ドキュメント コメント その他各種資料 子サイト簡易リファレンス・Tips サポート寄付 Map【マップ】 new Map【コンストラクタ】 new Map【コンストラクタ】メモ概要Mapオブジェクトのコンストラクタ new なし (関数として呼び出し) は、TypeError例外 関連set【要素追加・更新】 外部リンクECMA-262 (英語) The Map ConstructorES2024 (15) ES2023 (14) ES2022 (13) Map ( [ iterable ] )ES2024 (15) ES2023 (14) ES2022 (13) 構文 new Map( [ iterable ] ) iterableキーと値から成るイテレータオブジェクト 及び それに準ずるもの (キーと値の配列から成る2次元配列等) TypeError new なし (関数として呼び出し) iterable (イテレータオブジェクト)が不正 例 const map1 = new Map(); map1.set(0, null); map1.set(1, 'ONE'); map1.set('two', 2); map1.set('abc', 'ABC'); console.log('map1.size =', map1.size); // 出力:map1.size = 4 const mapIter1 = map1[Symbol.iterator](); for (let item of mapIter1) { console.log(item); } // 出力: // [0, null] // [1, 'ONE'] // ['two', 2] // ['abc', 'ABC'] const array = [ ['a', 1], ['b', 3], ['c', 5] ]; const map2 = new Map(array); console.log('map2.size =', map2.size); // 出力:map2.size = 3 const mapIter2 = map2[Symbol.iterator](); for (let item of mapIter2) { console.log(item); } // 出力: // ['a', 1] // ['b', 3] // ['c', 5] const map3 = new Map(); map3.set('a', 2); map3.set('b', 4); map3.set('c', 6); const map4 = new Map(map3); console.log('map4.size =', map4.size); // 出力:map4.size = 3 const mapIter4 = map4[Symbol.iterator](); for (let item of mapIter4) { console.log(item); } // 出力: // ['a', 2] // ['b', 4] // ['c', 6] const map5 = new Map(map3.entries()); console.log('map5.size =', map5.size); // 出力:map5.size = 3 const mapIter5 = map5[Symbol.iterator](); for (let item of mapIter5) { console.log(item); } // 出力: // ['a', 2] // ['b', 4] // ['c', 6] const mapNg1 = Map(); // 例外:TypeError (new なし) const mapNg2 = new Map(123); // 例外:TypeError