当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。