๐Ÿ“šย Reference


๐Ÿ“œย Chapter


WeakMap

WeakSet


ํŠน์ง•


ํ•ญ๋ชฉ ์„ค๋ช…
์ €์žฅ ๊ฐ€๋Šฅํ•œ ๊ฐ’ ๊ฐ์ฒด๋งŒ ๊ฐ€๋Šฅ (์›์‹œ๊ฐ’ ๋ถˆ๊ฐ€)
์ฐธ์กฐ ๋ฐฉ์‹ ์•ฝํ•œ ์ฐธ์กฐ(Weak Reference) โ€” ๋‹ค๋ฅธ ๊ณณ์—์„œ ์ฐธ์กฐ๊ฐ€ ์—†์–ด์ง€๋ฉด GC๋กœ ์ž๋™ ์‚ญ์ œ
ํฌ๊ธฐ ํ™•์ธ .size ์—†์Œ
๋ฐ˜๋ณต ๊ฐ€๋Šฅ ์—ฌ๋ถ€ โŒ ๋ฐ˜๋ณต ๋ถˆ๊ฐ€ (for...of, forEach ๋“ฑ ์‚ฌ์šฉ ๋ถˆ๊ฐ€)
์ง๋ ฌํ™” โŒ ์•ˆ ๋จ (JSON.stringify ๋ถˆ๊ฐ€)

์˜ˆ์‹œ


let obj = { name: 'JooYeon' };
const ws = new WeakSet();

ws.add(obj);
console.log(ws.has(obj)); // true

obj = null; // ๊ฐ์ฒด ์ฐธ์กฐ ํ•ด์ œ
// ์ดํ›„ GC๊ฐ€ ๋Œ๋ฉด WeakSet ๋‚ด๋ถ€์—์„œ๋„ ์ž๋™ ์ œ๊ฑฐ๋จ