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