WeakMap.prototype.set()
Базовая версия Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Метод set() экземпляров WeakMap добавляет новую запись с указанным ключом и значением в этот WeakMap, или обновляет существующую запись, если ключ уже существует.
Попробовать
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"
Синтаксис
set(key, value)
Параметры
-
key - Ключ записи, которую нужно добавить или изменить в объекте
WeakMap. Должен быть либо объектом, либо незарегистрированным символом. Ключи-объекты сравниваются по ссылке, а не по значению. -
value - Значение записи, которую нужно добавить или изменить в объекте
WeakMap. Может быть любым значением.
Возвращаемое значение
Объект WeakMap.
Исключения
-
TypeError - Генерируется, если
keyне является объектом или незарегистрированным символом.
Примеры
Использование set()
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");
Спецификации
Совместимость с браузерами
| Десктоп | Мобильные | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
set |
36 |
12 |
6До Firefox 38 этот метод генерировалTypeError, когда параметр ключа не был объектом. Это было исправлено в версии 38 и последующих версиях для возврата false в соответствии со стандартом ES2015. |
23 |
8 |
36 |
6До Firefox для Android 38 этот метод генерировалTypeError, когда параметр ключа не был объектом. Это было исправлено в версии 38 и последующих версиях для возврата false в соответствии со стандартом ES2015. |
24 |
8 |
3.0 |
37 |
8 |
1.0.0 |
1.0 |
0.12.0 |
Смотрите также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap/set