Symbol로 충돌 제거
라이브러리나 내부 메타데이터가 사용자 속성과 이름이 겹치지 않도록 고유 키를 만듭니다.
고유성객체 속성에 모든 자료구조를 억지로 담으면 키 충돌, 순서, 중복, 객체 키 문제가 섞입니다. Symbol은 충돌 없는 식별자를, Map은 임의 키 기반 사전을, Set은 중복 없는 집합을 맡습니다.
라이브러리나 내부 메타데이터가 사용자 속성과 이름이 겹치지 않도록 고유 키를 만듭니다.
고유성문자열 변환 없이 객체, 함수, DOM 노드 등을 그대로 키로 삼아 값과 연결합니다.
임의 키배열에서 중복 제거 로직을 반복하기보다 자료구조 자체가 중복을 거절하게 만듭니다.
집합Map과 Set은 삽입 순서 순회에 강하지만 JSON 직렬화에는 변환 단계가 필요합니다.
변환 경계const cache = new Map();
cache.set(userElement, { loadedAt: Date.now() });
const selectedIds = new Set([10, 20, 20]);
selectedIds.has(20); // true