As an addendum it looks like that 'undefined' is a valid key:
var m = new Map;
m.set(undefined, 1);
console.log(m.get(undefined));
The lack of a way to enumerate a Map/Set or otherwise find out what's in it (like via toString, even) makes them fairly useless containers at present. Unfortunate; I'd like to give them a spin.
Yeah, even for an experimental feature, that seems like a massive oversight.