Set【一意コレクション】オブジェクト

目次: メモ コンストラクタ プロパティ メソッド 関連

メモ

コンストラクタ

構文説明
new Set ( [ iterable ] ) コンストラクタ
(new なし:TypeError例外)

プロパティ

プロパティ説明
Set[@@species] コンストラクタ定義 (下記 例を参照)
Set[Symbol.species]
Set.prototype[@@toStringTag] タグ (下記 例を参照)
[Symbol.toStringTag]:"Set"
Set.prototype.constructorコンストラクタ定義 (下記 例を参照)
Set.prototypeプロトタイプ (下記 例を参照)
Set.prototype.size 要素数

メソッド

メソッド説明備考
Set.prototype[@@iterator] () イテレータオブジェクト作成
[Symbol.iterator] ()
キー = 値
Set.prototype.add ( value )要素追加・更新
Set.prototype.clear ()全要素削除
Set.prototype.delete ( value )要素削除
Set.prototype.entries () イテレータオブジェクト作成キー = 値
Set.prototype.forEach ( callbackfn [, thisArg] ) 反復要素処理
Set.prototype.has ( value )要素有無
Set.prototype.keys () イテレータオブジェクト作成 (キー)キー = 値
Set.prototype.values ()イテレータオブジェクト作成 (値)

console.log(Set.prototype.constructor);
// 出力:function Set() { [native code] }
console.log(Set.prototype);
// 出力:
// Set
//   add: function add()
//   clear: function clear()
//   constructor: function Set()
//   delete: function delete()
//   entries: function entries()
//   forEach: function forEach()
//   has: function has()
//   keys: function values()
//   size: (...)
//   get size: function size()
//   values: function values()
//   Symbol(Symbol.iterator): function values()
//   Symbol(Symbol.toStringTag): "Set"
//   __proto__: Object
console.log(Set[Symbol.species]);
// 出力:function Set() { [native code] }

var set1 = new Set();
console.log(set1[Symbol.toStringTag]);
// 出力:Set
console.log(set1.constructor);
// 出力:function Set() { [native code] }

set1.add(1);
set1.add("string2");
var obj3 = new Object("obj3");
set1.add(obj3);
console.log(set1.has(1));         // 出力:true
console.log(set1.has("string2")); // 出力:true
console.log(set1.has(obj3));      // 出力:true
console.log(set1.size);           // 出力:3