📜  JavaScript WeakMap get()方法(1)

📅  最后修改于: 2023-12-03 15:31:38.919000             🧑  作者: Mango

JavaScript WeakMap get()方法

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 对象适用于只要存在于外部,则对象就应该存在,否则对象就可以被垃圾回收的场景,如缓存、事件监听等。