概要
コレクションとして弱保持されたobjectsを格納します。
構文
new WeakSet([iterable]);
引数
- iterable
- iterable object が渡された場合、すべての要素は、新しい
WeakSetに追加されます。nullはundefinedとして扱われます。
説明
WeakSetオブジェクトはコレクションオブジェクトです。WeakSet内のオブジェクトは一度だけ発生します。すなわち、WeakSetコレクション内で唯一の要素になります。
Setオブジェクトとの主な違いは下記の通りです。:
Setとの対比で、WeakSetsはオブジェクトのみのコレクションです。すべての型の任意の値のコレクションではありません。WeakSetはweakです。: コレクション内のオブジェクトへの参照は弱保持です。WeakSet内に格納されているオブジェクトへの参照が他にない場合、ガベージコレクションされます。これは、コレクション内に格納されている現在のオブジェクトのリストがないことを意味します。WeakSetsは列挙されません。
プロパティ
WeakSet.lengthlengthプロパティの値は0です。WeakSet.prototypeSetコンストラクタに対するプロトタイプを表します。すべてのWeakSetオブジェクトにプロパティを追加できます。
WeakSet インスタンス
すべてのWeakSet インスタンスはWeakSet.prototypeから継承します。
プロパティ
WeakSet.prototype.constructor- Returns the function that created an instance's prototype. This is the
WeakSetfunction by default.
Methods
WeakSet.prototype.add(value)- Appends a new object with the given value to the
WeakSetobject. WeakSet.prototype.delete(value)- Removes the element associated to the
value.WeakSet.prototype.has(value)will returnfalseafterwards. WeakSet.prototype.has(value)- Returns a boolean asserting whether an element is present with the given value in the
WeakSetobject or not. WeakSet.prototype.clear()Removes all elements from theWeakSetobject.
例
例: WeakSet オブジェクトを使う
var ws = new WeakSet();
var obj = {};
var foo = {};
ws.add(window);
ws.add(obj);
ws.has(window); // true
ws.has(foo); // false, foo has not been added to the set
ws.delete(window); // removes window from the set
ws.has(window); // false, window has been removed
ws.clear(); // empty the whole WeakSet
仕様
| 仕様 | ステータス | コメント |
|---|---|---|
| ECMAScript 2015 (6th Edition, ECMA-262) WeakSet の定義 |
標準 | 初期定義。 |
ブラウザ実装状況
現在、互換性データを可読形式の JSON フォーマットに置き換えているところです。
この互換性一覧は古い形式を使っており、これに含まれるデータの置き換えが済んでいません。
手助けしていただける場合は、こちらから!
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| 基本サポート | 36 | 34 (34) | 未サポート | 23 | 未サポート |
new WeakSet(iterable) |
38 | 34 (34) | 未サポート | 25 | 未サポート |
コンストラクタ 引数: new WeakSet(null) |
(有) | 37 (37) | ? | ? | ? |
コンストラクタ内のMonkeyパッチを適用したadd() |
(有) | 37 (37) | ? | ? | ? |
| 機能 | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| 基本サポート | 未サポート | 34.0 (34) | 未サポート | 未サポート | 未サポート |
new WeakMap(iterable) |
未サポート | 34.0 (34) | 未サポート | 未サポート | 未サポート |
コンストラクタ 引数: new WeakSet(null) |
? | (有) | ? | ? | ? |
コンストラクタ内のMonkeyパッチを適用したadd() |
? | (有) | ? | ? | ? |