Quiz sobre Maps e Sets em JavaScript

Para passar no quiz, você deve responder corretamente pelo menos 18 das 20 perguntas abaixo.
O que é um Set em JavaScript?
Qual dos seguintes métodos está disponível em Maps mas não em Sets?
Qual método é usado para adicionar elementos a um Set?
Como você verifica se um Set contém um determinado valor?
Qual destes é um ótimo caso de uso para Sets?
O que é um WeakSet em JavaScript?
Qual é uma diferença entre um Set e um WeakSet?
O que é um Map em JavaScript?
Qual método é usado para inserir pares chave-valor em um Map?
O que o seguinte código irá exibir?
const myMap = new Map();
myMap.set('a', 1);
myMap.set('a', 2);
console.log(myMap.get('a'));
Como um Map difere de um Object em JavaScript?
Como você pode remover um par chave-valor de um Map?
O que a propriedade size de um Map retorna?
O que é um WeakMap em JavaScript?
Qual é uma diferença entre um Map e um WeakMap?
Qual dos seguintes métodos NÃO existe em um WeakMap?
Como será a saída do seguinte código?
const set = new Set([1, 2, 3]);
set.delete(2);
console.log(set.has(2));
Como você pode iterar sobre os valores em um Set?
Quais dois métodos de Sets retornam um SetIterator que contém os valores de um determinado Set?
Como será a saída do seguinte código?
const map = new Map([["a", 1], ["b", 2]]);
map.clear();
console.log(map.size);