WeakSet.prototype.add()
Базовый уровень Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с сентября 2015 года.
Метод add() экземпляров WeakSet вставляет указанное значение в это множество, если оно еще не присутствует.
Попробовать
const weakset = new WeakSet();
const object = {};
weakset.add(object);
console.log(weakset.has(object));
// Expected output: true
try {
weakset.add(1);
} catch (error) {
console.log(error);
// Expected output (Chrome): TypeError: Invalid value used in weak set
// Expected output (Firefox): TypeError: WeakSet value must be an object, got 1
// Expected output (Safari): TypeError: Attempted to add a non-object key to a WeakSet
}
Синтаксис
add(value)
Параметры
-
value - Значение, которое нужно добавить в объект
WeakSet. Должно быть либо объектом, либо незарегистрированным символом. Объекты сравниваются по ссылке, а не по значению.
Возвращаемое значение
Объект WeakSet.
Исключения
-
TypeError - Выбрасывается, если
valueне является объектом или незарегистрированным символом.
Примеры
Использование add()
const ws = new WeakSet(); ws.add(window); // add the window object to the WeakSet ws.has(window); // true // WeakSet only takes objects as arguments ws.add(1); // results in "TypeError: Invalid value used in weak set" in Chrome // and "TypeError: 1 is not a non-null object" in Firefox
Спецификации
Совместимость с браузерами
| Десктопные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | |
add |
36 |
12 |
34 |
23 |
9 |
36 |
34 |
24 |
9 |
3.0 |
37 |
9 |
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/WeakSet/add