ES6 引入了 Map 和 WeakMap 作為新的數據結構,提供更靈活的方式來存儲鍵值對。
Map 是一種鍵值對數據結構,與傳統的物件相比,Map 允許任何類型的值作為鍵,不僅限於字串。使用 Map 可以輕鬆操作數據,如新增、刪除、查詢等。範例:
WeakMap 則是一種特殊的 Map,它只接受物件作為鍵,而且鍵的物件是弱引用。這意味著如果某個鍵不再被其他地方引用,該鍵值對會自動被垃圾回收,避免記憶體洩漏問題。WeakMap 不支持遍歷,這與普通的 Map 不同。範例:
總結來說,Map 適合存儲長期存在的鍵值對,而 WeakMap 更適合在內存敏感的應用中儲存臨時關聯數據。