WeakSet.prototype.add()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Phương thức add() của các instance WeakSet chèn giá trị được chỉ định vào set này, nếu giá trị đó chưa có mặt.

Try it

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
}

Cú pháp

js
add(value)

Tham số

value

Giá trị cần thêm vào đối tượng WeakSet. Phải là đối tượng hoặc symbol không được đăng ký. Các đối tượng được so sánh theo tham chiếu, không phải theo giá trị.

Giá trị trả về

Đối tượng WeakSet.

Ngoại lệ

TypeError

Ném ra nếu value không phải là đối tượng hoặc symbol không được đăng ký.

Ví dụ

Sử dụng add()

js
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

Đặc tả kỹ thuật

Thông số kỹ thuật
ECMAScript® 2027 Language Specification
# sec-weakset.prototype.add

Tương thích trình duyệt

Xem thêm