Читаю сейчас про Set и Map, не могу понять, в чём фишка? Почему бы просто не использовать объекты? Или всё дело в удобстве и скорости?
var mySet = new Set();
mySet.add('test');
mySet.add('abc');
console.log( mySet.has('test') ); //true
console.log( mySet.has('abc') ); //true
console.log( mySet.has('bla') ); //false
var myObj = {};
myObj.test = true;
myObj['abc'] = true;
console.log( myObj.test ); //true
console.log( myObj['abc'] ); //true
console.log( myObj.bla ); //undefined
Хотя очень удобно для булевых ключей, особенно с передачей аргумента iterable