Answer

Answer

t.me/js_test

Ответ:

WeakSet
Date()

Объяснение:

Коллекция WeakSet ведёт себя следующим образом:

  • Она аналогична Set, но мы можем добавлять в WeakSet только объекты (не примитивные значения).
  • Объект присутствует в множестве только до тех пор, пока доступен где-то ещё.
  • Как и Set, она поддерживает addhas и delete, но не sizekeys() и не является перебираемой.

WeakSet позволяет хранить набор сообщений и легко проверять наличие сообщения в нём.

Он очищается автоматически. Минус в том, что мы не можем перебрать его содержимое, не можем получить «все прочитанные сообщения» напрямую. Но мы можем сделать это, перебирая все сообщения и фильтруя те, которые находятся в WeakSet.

Код для проверки:

let messages = [
  {text: "Hello", from: "John"},
  {text: "How goes?", from: "John"},
  {text: "See you soon", from: "Alice"}
];

let readMap = new WeakMap();

readMap.set(messages[0], new Date(2017, 1, 1));

Report Page