Set 객체는 중복되지 않는 값들을 저장하는 자료구조예요. 또한 값들을 넣은 순서대로 저장하기 때문에, Set 객체를 순회할 때에도 넣은 순서대로 순회할 수 있어요.
const mySet1 = new Set();mySet1.add(1); // Set(1) { 1 }mySet1.add(5); // Set(2) { 1, 5 }mySet1.add(5); // Set(2) { 1, 5 }mySet1.add('some text'); // Set(3) { 1, 5, 'some text' }const o = { a: 1, b: 2 };mySet1.add(o);mySet1.add({ a: 1, b: 2 }); // o is referencing a different object, so this is okaymySet1.has(1); // truemySet1.has(3); // false, since 3 has not been added to the setmySet1.has(5); // truemySet1.has(Math.sqrt(25)); // truemySet1.has('Some Text'.toLowerCase()); // truemySet1.has(o); // truemySet1.size; // 5mySet1.delete(5); // removes 5 from the setmySet1.has(5); // false, 5 has been removedmySet1.size; // 4, since we just removed one valuemySet1.add(5); // Set(5) { 1, 'some text', {...}, {...}, 5 } - a previously deleted item will be added as a new item, it will not retain its original position before deletionconsole.log(mySet1); // Set(5) { 1, "some text", {…}, {…}, 5 }