WeakMap.prototype.get()

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

WeakMap 实例的 get() 方法返回此 WeakMap 中与键对应的,如果不存在则返回 undefined。对象值将以最初存储的相同引用返回,而不是副本,因此对返回对象的修改将反映在持有该引用的任何地方,包括 WeakMap 内部。

试一试

const weakmap = new WeakMap();
const object1 = {};
const object2 = {};

weakmap.set(object1, 42);

console.log(weakmap.get(object1));
// Expected output: 42

console.log(weakmap.get(object2));
// Expected output: undefined

语法

js
get(key)

参数

key

要从 WeakMap 对象返回的值的键。对象键通过引用进行比较,而不是通过值。

返回值

WeakMap 对象中与指定键关联的值。如果找不到键,则返回 undefined。如果 key 不是对象或未注册的 symbol,则始终返回 undefined

示例

使用 get()

js
const wm = new WeakMap();
wm.set(window, "foo");

wm.get(window); // Returns "foo".
wm.get("baz"); // Returns undefined.

规范

规范
ECMAScript® 2026 语言规范
# sec-weakmap.prototype.get

浏览器兼容性

另见