官术网_书友最值得收藏!

API differences

The API for Map and WeakMap is very similar when it comes to standard operations, such as set() and get(). This makes the API very straightforward and contains the following:

  • Map.prototype.size: Returns the size of the map; not available on typical objects unless you loop and count
  • Map.prototype.set: Sets a value for a given key and returns the entire new map
  • Map.prototype.get: Gets a value for a given key and returns undefined if not found
  • Map.prototype.delete: Deletes a value for a given key and returns true if deletion was successful, otherwise false
  • Map.prototype.has: Checks the map for the presence of an element with the key provided; returns boolean
  • Map.prototype.clear: Clears the map; returns nothing
  • Map.prototype.forEach: Loops over the map and gives access to each element
  • Map.prototype.entries: Returns an iterator on which you can apply the next() method to get the value of the next element in Map, for example, mapIterator.next().value
  • Map.prototype.keys: Similar to entries; returns an iterator that can be used to get access to the next value
  • Map.prototype.values: Similar to key; returns access to values

The main difference comes in when accessing anything related to keys and the values for a WeakMapAs described earlier, because of the enumeration challenge in case of the WeakMap, methods such as size(), forEach(), entries(), keys(), and values() are not available in  WeakMap.

主站蜘蛛池模板: 高尔夫| 南投县| 龙门县| 牙克石市| 文安县| 英德市| 蒙山县| 烟台市| 尤溪县| 灵璧县| 洱源县| 稷山县| 临颍县| 平昌县| 固阳县| 南靖县| 长沙市| 南通市| 时尚| 武城县| 怀化市| 崇明县| 翁牛特旗| 富裕县| 抚松县| 驻马店市| 黔江区| 滕州市| 丹棱县| 库伦旗| 浦城县| 辽中县| 上思县| 资溪县| 济阳县| 金堂县| 台南市| 忻州市| 黄大仙区| 台前县| 湖州市|