Map과 Set 에 대해서 배웠는데...음....
우선 Map과 Set이 등장하게 된 이유는 JS에서 객체와 배열을 이용하면 다양하고 복잡한 프로그래밍을 할 수가 있지만 여러가지 문제들을 '프로그래밍'적으로 반영하기엔 많이 부족한데, 이러한 한계 극복을 위해 비교적 최근에 등장했다고 한다.
💡Map
new map()
맵을 만든다
map.set(key, value)
key를 이용해 value를 저장
map.get(key)
key에 해당하는 값을 반환, key가 존재하지 않으면 undefined를 반환
map.has(key)
key가 존재하면 true, 존재하지 않으면 false를 반환
map.delete(key)
key에 해당하는 값을 삭제
map.clear()
맵 안의 모든 요소를 제거
map.size
요소의 개수를 반환
map.keys()
각 요소의 키를 모은 반복 가능한(이터러블)객체를 반환함
map.values()
각 요소의 값을 모은 이터러블 객체를 반환함
map.entries()
요소의 [키, 값]을 한 쌍으로 하는 이터러블 객체를 반환함
💡Set
new set(iterable)
셋을 생성, 이터러블 객체를 전달받으면 그 안의 값을 복사해 셋에 넣어줌
set.add(value)
값을 추가하고 셋 자신을 반환
set.delete(value)
값을 제거, 호출 시점에 셋 내에 값이 있어서 제거에 성공하면 true, 아니면 false를 반환
set.has(value)
셋 내에 값이 존재하면 true, 아니면 false를 반환
set.clear()
셋을 비워주기
set.size()
셋에 몇 개의 값이 있는지 카운트
set.keys()
셋 내의 모든 값을 포함하는 이터러블 객체를 반환
set.values()
'set.key'와 동일한 작업 수행, 맵과의 호환성을 위해 만들어진 메서르
set.entries()
셋 내의 각 값을 이용해 만든 [value, value] 배열을 포함하는 이터러블 객체를 반환, 맵과의 호환성을 위해 만들어짐