WeakMap.prototype.has()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

The has() method of WeakMap instances returns a boolean indicating whether an element with the specified key exists in this WeakMap or not.

Try it

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

weakmap1.set(object1, "foo");

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

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

Syntax

js
has(key)

Parameters

key

The key of the element to test for presence in the WeakMap object.

Return value

Returns true if an element with the specified key exists in the WeakMap object; otherwise false. Always returns false if key is not an object or a non-registered symbol.

Examples

Using the has method

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

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

Specifications

Specification
ECMAScript® 2025 Language Specification
# sec-weakmap.prototype.has

Browser compatibility

See also