데브허브 | DEVHUB | 아 WeakSet도 배우고 싶다아 WeakSet도 배우고 싶다
- WeakSet은 Set과 이름만 비슷할 뿐, 객체만 저장하며 약한 참조를 사용하는 완전히 다른 메커니즘입니다. 🤯
- WeakSet에 저장된 객체가 다른 곳에서 더 이상 참조되지 않으면, 가비지 컬렉션에 의해 메모리에서 자동으로 해제되며 WeakSet에서도 사라집니다. ♻️
- 이러한 특성 덕분에 WeakSet은 특정 로직이나 함수가 객체당 '단 한 번만' 실행되도록 보장하는 원타임 로직 구현에 매우 유용합니다. 🎯
- 특히 DOM 요소와 함께 사용될 때 강력한데, DOM 요소가 리렌더링 과정에서 사라지면 WeakSet에서도 자동으로 제거되어 효율적인 메모리 관리가 가능합니다. 🌳
- Intersection Observer와 결합하여 스크롤에 반응하는 요소에 대해 애니메이션이나 특정 동작이 중복 없이 한 번만 실행되도록 구현하는 데 활용됩니다. 🎬
- WeakSet은 메모리 누수를 방지하고 불필요한 중복 작업을 막아 애플리케이션의 성능과 안정성을 향상시키는 데 기여합니다. 🚀