JavaScript Object과 Map의 공통점과 차이 JavaScript의 Map과 Object는 Key-Value 쌍으로 동작한다는 점에서는 비슷하지만 다른 점이 많다. 공부하면서 이 부분이 많이 헷갈려서 이번 글에서는 이 둘의 차이가 무엇인지에 대해 다뤄보고 어떤 때 Object를 써야 하고 어떤 때 Map을 써야하는지 살펴보고자 한다. Object과 Map의 공통점 Map과 Object의 값에 접근하기 위한 시간 복잡도 먼저 내가 제일 궁금했던 점은 Map과 Object의 값에 접근하기 위해서는 Key를 사용해야 하는데 이때 시간 복잡도가 다른가 하는 점이었다. 알아본 결과 N개의 원소가 있는 Map과 Object의 값의 접근을 위한 시간 복잡도는 O(1)로 같다. 물론 해싱 값이 모두 같은 값..
javascript Map
JavaScript의 Map 데이터 구조와 의의 JavaScript의 Map 데이터 구조는 키-값(Key-Value) 쌍을 가진 데이터 구조이다. Map 데이터 구조는 키 생성 시 키에 대해 해싱을 사용해서 키의 해시값의 중복이 되지 않는 이상 Value에 접근하기 위해 O(1)의 복잡도를 가질 수 있다는 점에서 프로그램의 최적화를 위해 많이 쓰인다. 또한 키의 해시값이 중복이 되더라도 중복인 대상 K개에 대해서만 O(K)의 복잡도를 가지기 때문에 값 접근을 위한 시간을 매우 낮출 수 있다. 이 때문에 대부분 언어들에서는 무조건 Map 데이터 구조를 지원하고 있다. 가끔 Map 대신 Dictionary로 쓰는 Swift 같은 언어가 있기는 하지만, JavaScript, Java, Kotlin 등의 언어들..