고유값 모음과 다양한 key를 가진 자료 구조를 사용합니다.
Set은 중복 없는 값의 집합이고 Map은 문자열뿐 아니라 객체 등 다양한 값을 key로 사용할 수 있습니다. size로 항목 수를 확인하며 for...of로 순회할 수 있습니다. 일반 JSON으로 바로 직렬화되지 않으므로 저장 형식으로 바꿀 때 배열 변환이 필요합니다.
코드를 읽을 때는 new Set(values); new Map([[key, value]]); 부분부터 찾으세요. 현재 값과 실행 순서를 줄마다 적어 보면 문법을 외우지 않아도 결과를 예측할 수 있습니다.
실행하기 전에 예상 결과를 짧게 적은 뒤 Set에 CSS를 다시 추가하고 Map의 HTML 값을 100으로 수정하세요. 실제 출력이 다르면 콘솔에 처음 나타난 오류와 그 직전 값을 차례로 확인하세요.
Set의 객체 중복 판단은 내용이 아니라 같은 객체 참조인지로 결정됩니다.
직접 바꿔보세요Set에 CSS를 다시 추가하고 Map의 HTML 값을 100으로 수정하세요.