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