[모던 JavaScript 튜토리얼] - [5.8] 위크맵과 위크셋 (WeakMap & WeakSet)

IRISH·2024년 1월 31일
0

JS

목록 보기
56/80


학습 내용

위크맵은 과 유사한 컬렉션입니다. 위크맵을 구성하는 요소의 키는 오직 객체만 가능합니다. 키로 사용된 객체가 메모리에서 삭제되면 이에 대응하는 값 역시 삭제됩니다.

위크셋은 과 유사한 컬렉션입니다. 위크셋엔 객체만 저장할 수 있습니다. 위크셋에 저장된 객체가 도달 불가능한 상태가 되면 해당 객체는 메모리에서 삭제됩니다.

두 자료구조 모두 구성 요소 전체를 대상으로 하는 메서드를 지원하지 않습니다. 구성 요소 하나를 대상으로 하는 메서드만 지원합니다.

객체엔 ‘주요’ 자료를, 위크맵과 위크셋엔 ‘부수적인’ 자료를 저장하는 형태로 위크맵과 위크셋을 활용할 수 있습니다. 객체가 메모리에서 삭제되면, (그리고 오로지 위크맵과 위크셋의 키만 해당 객체를 참조하고 있다면) 위크맵이나 위크셋에 저장된 연관 자료들 역시 메모리에서 자동으로 삭제됩니다.

느낀점

다른 개념보다 다소 어려운 개념이라 생각된다.

다만, 객체로 이루어진 것을 처리하기는 순수 맵과 셋보다는 유리하다는 측면이 있다.

댓글을 보니, 실무에서도 자주 사용한다고 나와 있다.

해당 내용은 자주 학습하면서 익혀 나가야 겠다.

profile
#Software Engineer #IRISH

0개의 댓글