试一试
const weakmap = new WeakMap();
const object1 = {};
const object2 = {};
weakmap.set(object1, "foo");
weakmap.set(object2, "bar");
console.log(weakmap.get(object1));
// Expected output: "foo"
console.log(weakmap.get(object2));
// Expected output: "bar"
语法
js
set(key, value)
参数
key-
要添加到
WeakMap对象中或要在其中修改的条目的键。必须是对象或未注册的 Symbol。对象键通过引用进行比较,而不是通过值。 value-
要添加到
WeakMap对象中或要在其中修改的条目的值。可以是任何值。
返回值
WeakMap 对象。
异常
TypeError-
如果
key不是对象或未注册的 Symbol,则抛出错误。
示例
使用 set()
js
const wm = new WeakMap();
const obj = {};
// Add new elements to the WeakMap
wm.set(obj, "foo").set(window, "bar"); // chainable
// Update an element in the WeakMap
wm.set(obj, "baz");
// Using a non-registered symbol as key
const sym = Symbol("foo");
wm.set(sym, "baz");
wm.set(Symbol.iterator, "qux");
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-weakmap.prototype.set |
浏览器兼容性
加载中…