Map, WeakMap - коллекция пар ключ-значение

Map

Note

EcmaScript6

class Map
let map = new Map();
let map2 = new Map([[1, 2], [3, 4]]);
size

Количесвто ключей в коллекции

map2.size;
// 2
clear()

Очищает коллекцию

map.clear();
delete(key)

Удаляет пару ключ-значение из коллекции

map.delete("2");
get(key)

Возвращает значение по ключу

map.get("2");
has(key)

Проверяет, есть ли ключ в коллекции

map.has("2");
// false
set(key, value)

Добавляет ключ и значение

let o = {n: '1'};
map.set(o, "A");

WeakMap

Note

EcmaScript6

Аналогичен Map, но имеет отличия:

  • ключи могут быть только ссылками на объекты

  • если нет другой ссылки на объект ключа в коллекции, то ключ уничтожится сборщиком мусора

  • коллекция не перечисляема

    • нельзя узнать размер
    • нельзя итерироваться
class WeakMap
let weakmap = WeakMap();
delete(key)

Удаляет пару ключ-значение из коллекции

map.delete("2");
get(key);

Возвращает значение по ключю

map.get("2");
set(key, value)

Добавляет ключ и значение

let o = {n: '1'};
map.set(o, "A");