Note
EcmaScript6
Map
()let map = new Map();
let map2 = new Map([[1, 2], [3, 4]]);
Map.
size
Количесвто ключей в коллекции
map2.size;
// 2
Map.
clear
()Очищает коллекцию
map.clear();
Map.
delete
(key)Удаляет пару ключ-значение из коллекции
map.delete("2");
Map.
get
(key)Возвращает значение по ключу
map.get("2");
Map.
has
(key)Проверяет, есть ли ключ в коллекции
map.has("2");
// false
Map.
set
(key, value)Добавляет ключ и значение
let o = {n: '1'};
map.set(o, "A");
Note
EcmaScript6
Аналогичен Map
, но имеет отличия:
ключи могут быть только ссылками на объекты
если нет другой ссылки на объект ключа в коллекции, то ключ уничтожится сборщиком мусора
коллекция не перечисляема
нельзя узнать размер
нельзя итерироваться
WeakMap
()let weakmap = WeakMap();
WeakMap.
delete
(key)Удаляет пару ключ-значение из коллекции
map.delete("2");
WeakMap.
get(key);
()Возвращает значение по ключю
map.get("2");
WeakMap.
set
(key, value)Добавляет ключ и значение
let o = {n: '1'};
map.set(o, "A");