Answer
t.me/js_testОтвет:
WeakSet Date()
Объяснение:
Коллекция WeakSet ведёт себя следующим образом:
- Она аналогична
Set, но мы можем добавлять вWeakSetтолько объекты (не примитивные значения). - Объект присутствует в множестве только до тех пор, пока доступен где-то ещё.
- Как и
Set, она поддерживаетadd,hasиdelete, но неsize,keys()и не является перебираемой.
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));