📅  最后修改于: 2023-12-03 15:31:38.919000             🧑  作者: Mango
WeakMap
对象是一种弱引用的 Map
,其中键必须是对象,而值可以是任何数据类型。它的主要特点在于,当键对象被垃圾回收时,与之关联的键值对也将被自动删除。WeakMap
具有以下方法:
WeakMap.prototype.get()
WeakMap.prototype.set()
WeakMap.prototype.has()
WeakMap.prototype.delete()
本文将介绍 WeakMap.prototype.get()
方法,该方法用于根据键获取与之关联的值。
WeakMap.prototype.get()
方法概述WeakMap.prototype.get()
方法用于获取与给定键关联的值。如果 WeakMap
中不存在该键,则 get()
方法将返回 undefined
。
get()
方法的语法如下:
weakMap.get(key);
其中,weakMap
是一个 WeakMap
对象,key
是一个键对象。
WeakMap.prototype.get()
方法示例下面是 WeakMap.prototype.get()
方法的一个示例:
const myWeakMap = new WeakMap();
const obj1 = {};
const obj2 = {};
myWeakMap.set(obj1, 'Hello, World!');
console.log(myWeakMap.get(obj1)); // 'Hello, World!'
console.log(myWeakMap.get(obj2)); // undefined
在上面的示例中,我们创建了一个 WeakMap
对象 myWeakMap
,并向其中添加了一个键值对,其中键是 obj1
,值是 'Hello, World!'
。然后,我们通过 myWeakMap.get(obj1)
语句获取 obj1
对应的值,输出为 Hello, World!
。接下来,我们尝试获取 obj2
对应的值,由于 myWeakMap
中不存在键 obj2
,因此返回值为 undefined
。
WeakMap.prototype.get()
方法用于获取与给定键关联的值。如果 WeakMap
中不存在该键,则 get()
方法将返回 undefined
。
需要注意的是,WeakMap
中的键必须是对象,无法使用基本类型(如字符串、数字等)作为键。
WeakMap
对象适用于只要存在于外部,则对象就应该存在,否则对象就可以被垃圾回收的场景,如缓存、事件监听等。