WeakMap.prototype.delete()

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

WeakMap 例項的 delete() 方法會從此 WeakMap 中移除由鍵指定的條目。

試一試

const weakmap = new WeakMap();
const object = {};

weakmap.set(object, 42);

console.log(weakmap.delete(object));
// Expected output: true

console.log(weakmap.has(object));
// Expected output: false

語法

js
weakMapInstance.delete(key)

引數

key

要從 WeakMap 物件中移除的條目的鍵。物件的鍵是透過引用而不是值進行比較的。

返回值

如果 WeakMap 物件中的某個條目已成功移除,則返回 true。如果未在 WeakMap 中找到鍵,則返回 false。如果 key 不是物件或未註冊的 Symbol,則始終返回 false

示例

使用 delete()

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

wm.delete(window); // Returns true. Successfully removed.

wm.has(window); // Returns false. The window object is no longer in the WeakMap.

規範

規範
ECMAScript® 2026 語言規範
# sec-weakmap.prototype.delete

瀏覽器相容性

另見