WeakSet.prototype.has()

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 2015 年 9 月以來,該特性已在各大瀏覽器中可用。

has() 方法是 WeakSet 例項的方法,它返回一個布林值,指示指定的值是否存在於此 WeakSet 中。

試一試

const weakset = new WeakSet();
const object1 = {};
const object2 = {};

weakset.add(object1);

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

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

語法

js
has(value)

引數

value

要測試其在 WeakSet 物件中是否存在的值。物件按 引用 進行比較,而不是按值進行比較。

返回值

如果指定的值存在於 WeakSet 物件中,則返回 true;否則返回 false。如果 value 不是物件或 未註冊的 Symbol,則始終返回 false

示例

使用 has()

js
const ws = new WeakSet();
const obj = {};
ws.add(window);

ws.has(window); // returns true
ws.has(obj); // returns false

// Storing a non-registered symbol
const sym = Symbol("foo");
ws.add(sym);
ws.add(Symbol.iterator);

規範

規範
ECMAScript® 2026 語言規範
# sec-weakset.prototype.has

瀏覽器相容性

另見