code: function Map(capacity) {
    if (capacity != null &&
        (!isFinite(capacity) || Math.floor(capacity) !== capacity || capacity < 1)) {
      throw new Error('Map: invalid capacity');
    }
    this._capacity = capacity || defaultCapacity;
  
    this._keyBuckets = [];
    this._valBuckets = [];
    for (var i = 0; i < this._capacity; i++) {
      this._keyBuckets.push([]);
      this._valBuckets.push([]);
    }
    this._size = 0;
  }
docs: A map data structure for keys implementing hash() and equals() and arbitrary values. The capacity, if given, is just a hint; the map is allowed to exceed it, but performance may suffer.