此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

WeakMap.prototype.delete()

基线 广泛可用

自 2015年7月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

WeakMap 实例的 delete() 方法从该 WeakMap 中删除指定的元素。

尝试一下

const weakmap1 = new WeakMap();
const object1 = {};

weakmap1.set(object1, 42);

console.log(weakmap1.delete(object1));
// Expected output: true

console.log(weakmap1.has(object1));
// Expected output: false

概述

delete() 方法可以从一个 WeakMap 对象中删除指定的元素。

语法

js
weakMapInstance.delete(key)

参数

key

要从 WeakMap 对象中删除的元素的键。

返回值

如果成功在 WeakMap 对象中删除了元素,则返回 true。如果未在 WeakMap 中找到该键,则返回 false。如果 key 不是对象或非全局注册的符号,则始终返回 false

示例

使用 delete() 方法

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

wm.delete(window); // 返回 true。成功删除。

wm.has(window); // 返回 false。WeakMap 中已经不存在 window 对象。

规范

规范
ECMAScript® 2027 Language Specification
# sec-weakmap.prototype.delete

浏览器兼容性

参见