Collections
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
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', 1);   //Set a value associated with a key 
    console.log(m.get('first'));  //Get a value using the key 
We will create an empty Map using the constructor. You can use the set() method to add an entry to the Map associating...