var emptySet = new Set();
console.log(emptySet.size); // 出力:0
console.log(emptySet); // 出力:Set {}
var obj3 = new Object("obj3");
var array = [1, "string2", obj3];
var arraySet = new Set(array);
console.log(arraySet.size); // 出力:3
console.log(arraySet); // 出力:Set {1, "string2", String...}
var setSet = new Set(arraySet);
console.log(setSet.size); // 出力:3
console.log(setSet); // 出力:Set {1, "string2", String...}
var setNG1 = Set(); // TypeError 例外:new なし (関数として呼び出し)
var setNG2 = new Set(123); // TypeError 例外:入力のイテレータオブジェクトが不正
var set1 = new Set();
set1.add(1);
set1.add("string2");
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.has("non")); // 出力:false
console.log(set1.size); // 出力:3
set1.delete("string2");
obj3 = new Object("obj3"); // 別のオブジェクト作成
console.log(set1.has(1)); // 出力:true
console.log(set1.has("string2")); // 出力:false
console.log(set1.has(obj3)); // 出力:false (別のオブジェクトの為)
console.log(set1.size); // 出力:2 (元のobj3が存在)
set1.clear();
console.log(set1.size); // 出力:0