ES6 introduces four data structures-Map, WeakMap, Set, and WeakSet. JavaScript, when compared to other languages such as Python and Ruby, had a very weak standard library to support hash or Map data structures or dictionaries. Several hacks were invented to somehow achieve the behavior of a Map by mapping a string key with an object. There were side effects of such hacks. Language support for such data structures was sorely needed.

ES6 supports standard dictionary data structures; we will look at more details around these in the next section.


Map allows arbitrary values as keys. The keys are mapped to values. Maps allow fast access to values. Let's look at some examples of maps:

 const m = new Map(); //Creates an empty Map m.set('first', ...

Get Object-Oriented JavaScript - Third Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.