충돌 방지 키
객체 프로퍼티 키가 문자열 이름과 충돌하지 않게
Symbol()을 쓴다.
DOM 요소와 부가 상태를 연결할 때는 키가 문자열인지 객체인지, 순회가 필요한지, 요소 참조가 끊긴 뒤 GC 대상이 되어야 하는지 함께 본다.
객체 프로퍼티 키가 문자열 이름과 충돌하지 않게
Symbol()을 쓴다.
set, get, delete로 요소별
측정값이나 렌더 상태를 관리한다.
add, has, delete로 선택
id나 적용할 클래스 이름을 한 번만 보관한다.
키는 객체만 가능하고 순회할 수 없지만, 요소 참조가 끊기면 연결 데이터도 GC 대상이 된다.
제거된 DOM 노드가 Map 키에 계속 남아 있으면 메모리 누수가 된다. 순회가 필요 없고 키가 객체라면 WeakMap을 우선 검토한다.