[ES6+] WeakSet
in JavaScript
WeakSet
set과 비슷하지만 다르다.
size, entries, properties 같은 것들이 없다.
set은 add, clear, delete, entries… 등등을 가지고 있는것에 비해 weakset은 조금 덜 갖고있는데(add, delete, has) 그 이유는 weakset이
오직 object와 함께 동작하기 때문이다
const weakSet = new WeakSet();
const sexy = {
im : true
};
weakSet.add(sexy);
만약 weakset에 넣은 object를 가리키는 것이 없다면 지워질것이다
(garbage collector과 동일한 개념)
이래놓고 브라우저 콘솔에서
weakSet.add({hello:true})
라고 명령하면 위의 코드에서 따로 생성한것이 아니기 때문에 아무것도 가리키지 않게된다.
그러면 garbage collector가 이걸 삭제하러 오는거다
언제오는지는 모름
컴퓨터가 공간이 필요하면 와서 지우고감(대단한 녀석이군)
그리고 보면서 느끼겠지만 사용하는 경우 거의 없음….-.-…
노마드코더의 ‘ES6의 정석’을 듣고 정리 =)