Map and WeakMap
Map 是什麼?
Map 是 JavaScript 中的一個內建物件,允許你使用任何類型的值(包括物件和基本類型)作為 key,並且能夠記住 key 的插入順序
Map 和 Object 的不同
特性 | Map | Object |
---|---|---|
鍵的類型 | 可以是任何類型 | 必須是字串或符號 |
插入順序 | 會記住插入順序 | 不一定記住插入順序 |
是否可迭代 | 是,可直接迭代鍵、值或鍵值對 | 否,需要手動迭代 |
預設鍵 | 無預設鍵值 | 繼承自 Object.prototype 的鍵 |
性能 | 在頻繁新增、刪除操作時更高效 | 一般情況下性能較低 |
方法 | 提供多種便利的方法(set 、get 、has 等) | 標準的方法較少(例如 Object.keys 、Object.values ) |
原型鏈影響 | 不受原型鏈影響 | 可能受原型鏈上的鍵值影響 |
常見操作
建立 Map
const data = [
[1, "one"],
[2, "two"],
];
const map = new Map(data);