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 基本指南.
相關用法
- JavaScript WeakMap delete()用法及代碼示例
- JavaScript WeakMap get()用法及代碼示例
- JavaScript WeakMap has()用法及代碼示例
- JavaScript WeakMap set()用法及代碼示例
- JavaScript WeakSet delete()用法及代碼示例
- JavaScript WeakSet has()用法及代碼示例
- JavaScript WeakSet()用法及代碼示例
- JavaScript Math cosh()用法及代碼示例
- JavaScript Math sinh()用法及代碼示例
- JavaScript Math sin()用法及代碼示例
- JavaScript Math cos()用法及代碼示例
- JavaScript Math tan()用法及代碼示例
- JavaScript Math abs()用法及代碼示例
- JavaScript Math pow()用法及代碼示例
- JavaScript Math asin()用法及代碼示例
- JavaScript Math acos()用法及代碼示例
- JavaScript Math atan()用法及代碼示例
- JavaScript Math ceil()用法及代碼示例
- JavaScript Math floor()用法及代碼示例
- JavaScript Math round()用法及代碼示例
- JavaScript Math trunc()用法及代碼示例
- JavaScript Math max()用法及代碼示例
- JavaScript Math min()用法及代碼示例
- JavaScript Math sqrt()用法及代碼示例
- JavaScript Math sign()用法及代碼示例
注:本文由純淨天空篩選整理自priyavermaa1198大神的英文原創作品 JavaScript WeakMap() Constructor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。