試一試
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 |
瀏覽器相容性
載入中…