DOM 상태 저장에 맞는 컬렉션 고르기
DOM 요소와 부가 상태를 연결할 때는 키가 문자열인지 객체인지, 순회가 필요한지, 요소 참조가 끊긴 뒤 GC 대상이 되어야 하는지 함께 본다.
| 상황 | 추천 | 이유 | 확인할 것 |
|---|---|---|---|
| ID로 상태 저장 | Object 또는 Map | 문자열 키로 접근 | 키 충돌과 직렬화 필요 |
| DOM element 키 | WeakMap | 요소가 사라지면 상태도 수거 가능 | 순회가 필요하면 Map 검토 |
| 선택된 항목 집합 | Set | 중복 없이 존재 여부 확인 | 값이 객체면 참조 동일성 기준 |
| 순서 있는 렌더 목록 | Array | 화면 순서 유지 | 삭제/삽입 비용과 key 필요 |
| 캐시 | Map | 삽입 순서와 size 확인 | 무한 증가하지 않도록 정리 정책 |
DOM 상태 저장은 편한 문법보다 참조 수명과 순회 필요성을 기준으로 자료 구조를 골라야 한다.