當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript WeakMap()用法及代碼示例


WeakMap() 構造函數生成 WeakMap 對象,這些對象是鍵/值對數組,其中鍵被弱引用。鍵應該是對象,值可以是任意的。 Map 和 WeakMap 之間的區別在於鍵必須是對象並且隻能弱引用。這意味著如果沒有其他對該鍵的強引用,垃圾Collector可以刪除 WeakMap 中的元素。

用法:

new WeakMap( iterable )

Parameters: 它接受一個可選參數,該參數可以是任何可迭代對象。可迭代對象是一個類似數組的對象,其元素中包含鍵值對。創建的WeakMap將包含每個鍵值對。 null 被認為是未定義的。

以下示例說明了 WeakmMap 構造函數:

示例 1: weakMap.get()用於檢索與鍵關聯的值。如果沒有值與該鍵關聯,則返回未定義。

Javascript


const o1 = {}, o2 = {}; 
const wp = new WeakMap([[o2, 17]]); 
console.log(wp.get(o2)); 
console.log(wp.get(o1));

輸出:

17
undefined

示例 2: weakMap.set()為鍵分配一個值。它返回 WeakMap 對象,允許您鏈接.set() 調用。

Javascript


const o1 = {}, o2 = {}; 
const wp = new WeakMap(); 
  
wp.set(o1, 100).set(o2, 200); 
  
console.log(wp.get(o1)); 
console.log(wp.get(o2));

輸出:

100
200

示例 3: weakMap.has() 用於確定 WeakMap 中是否存在具有給定鍵的元素。如果退出則返回true,否則返回false。

Javascript


const o1 = {}, o2 = {}; 
  
const wp = new WeakMap([[o2, 17]]); 
  
console.log(wp.has(o2)); 
console.log(wp.has(o1));

輸出:

true
false

示例4: weakMap.delete()用於刪除具有特定鍵的元素。如果該元素存在並被刪除,則返回 true,否則返回 false。

Javascript


const o1 = {}, o2 = {}; 
  
const wp = new WeakMap([[o1, 77]]); 
  
console.log(wp.delete(o2)); 
console.log(wp.delete(o1));

輸出:

false
true

我們有 JavascriptweakMap 方法的完整列表,要檢查這些方法,請閱讀這篇JavaScript WeakMap Complete Reference 文章。

我們有一份關於 Javascript 的備忘單,其中涵蓋了 Javascript 的所有重要主題,請查看這些主題Javascript Cheat Sheet-A JavaScript 基本指南.



相關用法


注:本文由純淨天空篩選整理自priyavermaa1198大神的英文原創作品 JavaScript WeakMap() Constructor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。