알고리즘 책을 읽으며 해시 테이블이 무엇인지 대략적으로 알게 되었다. 해시 함수를 통해 key값을 알고 있다면, key값에 맞는 value를 아주 손쉽게 가져올 수 있다.
예를들어, 각 음식의 칼로리를 알고싶다? Food['pizza']
를 통해 피자의 칼로리를 알 수 있다.
지금까지 해시 함수 혹은, 해시맵, 맵, 해시테이블에 관해 아주 간략하게 설명했다.
여기서 의문이 생겼다. 이미 Object로 key와 value값을 지정하고 원하는 탐색을 할 수 있는데 Map은 무엇이 다를까?
ES6에서는 Map객체를 통해 key와 value값을 연결시켜 저장할 수 있다.
Map.set map.delete map.get map.has
를 통해 손쉽게 값을 지정하고 지우고 가져오며 확인할 수 있다.
차이점은 다음과 같다.
Object의 key값은 문자열(strings)이다.
Map.size를 통해 크기를 쉽게 알 수 있다.
Map은 넣은 순서대로 반복이 된다.
MDN에서는 모든 Key와 value의 타입이 일정하다면 Map을 사용하라는 팁이 쓰여져 있음을 확인할ㅡ 수 있다.
...핸드폰으로 끄적인 메모
오호 대충 그런가보다~ 하고 있던 것들인데 이런 차이점들이 있었네요!👍
그런데 다음편은 언제 연재되나요 somedaycode님~? 😬
ㅎㅎ