このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

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 2015年7月.

has()WeakMap インスタンスのメソッドで、指定されたキーをもつ要素が WeakMap オブジェクト内に存在するかどうかを示す論理値を返します。

試してみましょう

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

weakmap.set(object1, "foo");

console.log(weakmap.has(object1));
// 予想される結果: true

console.log(weakmap.has(object2));
// 予想される結果: false

構文

js
has(key)

引数

key

WeakMap オブジェクトに存在するかテストする項目のキーです。オブジェクトのキーは値ではなく参照として比較されます。

返値

指定されたキーをもつ項目が WeakMap オブジェクト内に存在したら true を返します。そうでなければ false を返します。key がオブジェクトでも非登録シンボルでもない場合は常に false を返します。

has() メソッドの使用

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

wm.has(window); // true を返す
wm.has("baz"); // false を返す

仕様書

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

ブラウザーの互換性

関連情報