📜  JavaScript weakMap.get() 方法(1)

📅  最后修改于: 2023-12-03 14:42:27.900000             🧑  作者: Mango

JavaScript WeakMap.get() 方法

在 JavaScript 中,WeakMap 是一种类似于 Map 的数据结构,不同的是它只能接受对象作为键名,并且键名所引用的对象是弱引用,即如果对象被回收,则对应的键值对也会被自动删除。

WeakMap.get() 方法用于获取对应键的值,如果键不存在,则返回 undefined

语法
WeakMap.get(key)
参数
  • key: 必需。表示需要查找的键名。
返回值

如果存在对应的 key,则返回该键所对应的值,否则返回 undefined

示例
let wm = new WeakMap();
let obj1 = {}, obj2 = {}, obj3 = {};

wm.set(obj1, "value1");
wm.set(obj2, "value2");

console.log(wm.get(obj1)); // "value1"
console.log(wm.get(obj2)); // "value2"
console.log(wm.get(obj3)); // undefined

我们首先创建了一个 WeakMap 对象 wm,然后用 wm.set() 方法往 wm 中添加了两个键值对,分别是 {}(即空对象)和 {},它们的值分别是 "value1""value2"

然后,我们分别用 wm.get() 方法获取了 obj1obj2obj3 的值。由于 wm 中存在 {}{} 类型的键名,所以我们能够通过 obj1obj2 获得对应的值 "value1""value2"。而由于 obj3 不在 wm 中,所以返回 undefined

除了 get() 方法之外,WeakMap 还提供了一系列的操作方法,如 set()has()delete() 等,可以使开发者更加方便地操作 WeakMap 对象。