WeakSet() コンストラクター

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.

WeakSet コンストラクターで、 WeakSet オブジェクトを生成し、これに弱い参照でオブジェクトをコレクションで保持することができます。

構文

new WeakSet([iterable]);

引数

iterable

反復可能オブジェクトが渡された場合、すべての要素が新しい WeakSet に追加されます。 null は undefined として扱われます。

WeakSet オブジェクトの使用

js
var ws = new WeakSet();
var foo = {};
var bar = {};

ws.add(foo);
ws.add(bar);

ws.has(foo); // true
ws.has(bar); // true

ws.delete(foo); // foo を set から削除
ws.has(foo); // false, foo は削除済み
ws.has(bar); // true, bar は残っている

foo !== bar であることに注意してください。これらは似たオブジェクトですが、まったく同じオブジェクトではありません。したがって、両方のオブジェクトが set に追加されます。

仕様書

Specification
ECMAScript Language Specification
# sec-weakset-constructor

ブラウザーの互換性

BCD tables only load in the browser

関連情報