Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at


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




Required. 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.


Using the has method

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

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


Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'WeakMap.prototype.has' in that specification.
Standard Initial definition.
ECMAScript 2017 Draft (ECMA-262)
The definition of 'WeakMap.prototype.has' in that specification.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 36 6.0 (6.0) 11 23 7.1
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support No support 6.0 (6.0) No support No support 8

Firefox-specific notes

  • Prior to SpiderMonkey 38 (Firefox 38 / Thunderbird 38 / SeaMonkey 2.35), this method threw a TypeError when the key parameter was not an object. This has been fixed in version 38 and later to return false as per latest ES6 standard (bug 1127827).

See also

Document Tags and Contributors

 Contributors to this page: fscholz, realityking
 Last updated by: fscholz,