iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 27
0
  1. 只接受物件作為key欄位,不接受其他类型的值。
  2. WeakMap不能遍歷,其成員是弱引用,隨時可能消失,因為垃圾回收機制可能會因為在WeakSet裡頭的物件沒被引用,就回收掉它,所以要注意這點,如果有引用過,但後續沒使用到該值也忘記取消引用,就會產生記憶體無法釋放的問題。

WeakMap有以下幾個方法:

  1. get(key):透過key,返回該成員值。
  2. set(key,value):新增成員,不返回值。
  3. has(value):查詢其成員內有無這個值,返回布林值。
  4. delete(value):刪除成員值,返回布林值。
const wm=new WeakMap();
const obj = {wow: "Hello World"};
wm.set(obj,'wow');
console.log(wm);
console.log(wm.get(obj));
console.log(wm.has(obj));
wm.delete(obj);
console.log(wm.get(obj));

程式碼


上一篇
ES6 Map介紹
下一篇
隊列(Queue)
系列文
透過JavaScript學習演算法與資料結構30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言