MDN Set:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set
//set
const set = new Set([1,2,3]);
console.log(set);
//사이즈 확인
console.log(set.size);
//존재하는지 확인
console.log(set.has(2)); // ture
console.log(set.has(5)); // false
set.forEach((item) => console.log(item));
for(const value of set.values()){
console.log(value);
}
//추가
set.add(6);
console.log(set);
set.add(6); // 중복이 안됨❌
console.log(set);
//삭제
set.delete(6);
console.log(set);
//전부 삭제
set.clear();
console.log(set.size);
//오브젝트 세트
const obj1 = {name: '🍎', price: 8};
const obj2 = {name: '🍌', price: 5};
const objs = new Set([obj1,obj2]);
console.log(objs); // Set(2) { { name: '🍎', price: 8 }, { name: '🍌', price: 5 } }
// shallow copy
obj1.price = 10;
objs.add(obj1);
console.log(objs); //Set(2) shallow copy
//object - 메모리 주소 참조
const obj3 = {name: '🍌', price: 5};
objs.add(obj3);
obj3.price = 8; // { name: '🍎', price: 10 }, { name: '🍌', price: 5 }, { name: '🍌', price: 8 }
console.log(objs); //Set(3)