반응형
WeakMap과 WeakSet은 일반 Map과 Set과 비슷하지만 메모리 관리 측면에서 중요한 차이가 있습니다.
WeakMap은 키가 객체일 경우만 저장할 수 있으며, 가비지 컬렉션이 가능한 자료구조입니다. 객체가 더 이상 참조되지 않으면, 해당 키-값 쌍은 자동으로 삭제됩니다. 이 때문에 메모리 관리가 용이합니다.
let obj = {};
let weakMap = new WeakMap();
weakMap.set(obj, 'some value');
obj = null; // obj가 더 이상 참조되지 않음
// 가비지 컬렉션에 의해 WeakMap에서 자동으로 삭제됨
WeakSet은 값이 객체일 경우만 저장할 수 있으며, WeakMap과 마찬가지로 가비지 컬렉션이 지원됩니다. 객체가 더 이상 참조되지 않으면, 해당 객체는 자동으로 삭제됩니다.
*가비지 컬렉션(Garbage Collection, GC) : 사용되지 않는 메모리를 자동으로 관리하는 시스템
반응형
'javaScript' 카테고리의 다른 글
자바스크립트로 객체 지향 프로그래밍 이해하기 (2) | 2025.05.14 |
---|---|
클로저(Closure)와 메모리 관리 (0) | 2025.05.12 |
자바스크립트의 런타임 구조와 비동기 처리의 기초 (1) | 2025.05.12 |
javaScript 문법 forEach, map, filter (0) | 2023.12.13 |
javaScript 문법 Math.floor, join, split, (0) | 2023.12.13 |