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

View in English Always switch to English

WeakMap.prototype.has()

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。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 を返す

仕様書

仕様書
ECMAScript® 2027 Language Specification
# sec-weakmap.prototype.has

ブラウザーの互換性

関連情報