Spec-Zone.ru › JavaScript

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

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

Спецификация
Спецификация языка ECMAScript® 2027
# sec-weakset.prototype.add

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

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

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

  • WeakSet
  • WeakSet.prototype.delete()
  • WeakSet.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/WeakSet/add

Spec-Zone.ru

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