WeakMap.prototype.has()

Baseline 已广泛支持

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

WeakMap 实例的 has() 方法返回一个布尔值,指示指定的键在此 WeakMap 中是否存在。

试一试

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

weakmap.set(object1, "foo");

console.log(weakmap.has(object1));
// Expected output: true

console.log(weakmap.has(object2));
// Expected output: false

语法

js
has(key)

参数

key

用于在 WeakMap 对象中测试其存在性的条目的键。对象的键是按引用比较的,而不是按值比较。

返回值

如果 WeakMap 对象中存在指定键的条目,则返回 true;否则返回 false。如果 key 不是对象或未注册的 Symbol,则始终返回 false

示例

使用 has()

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

wm.has(window); // returns true
wm.has("baz"); // returns false

规范

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

浏览器兼容性

另见