Spec-Zone.ru › JavaScript

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");

Спецификации

Спецификация
ECMAScript® 2027 Language Specification
# sec-weakmap.prototype.set

Совместимость с браузерами

Десктоп Мобильные Сервер
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

Смотрите также

  • WeakMap
  • WeakMap.prototype.delete()
  • WeakMap.prototype.get()
  • WeakMap.prototype.has()

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API