Warum ist ES6 WeakMap nicht aufzählbar?

Vor meinem erneuten Einstieg in JavaScript (und verwandte) habe ich viel ActionScript 3 ausgeführt und dort hatten sie ein Dictionary-Objekt mit schwachen Schlüsseln, genau wie die kommende WeakMap. Aber die AS3-Version war immer noch wie ein normales generisches Objekt aufzählbar, während die WeakMap speziell keine hat.keys() oder.values().

Mit der AS3-Version konnten wir einige wirklich interessante und nützliche Konstrukte aufbauen, aber ich bin der Meinung, dass die JS-Version etwas eingeschränkt ist. Warum das?

Wenn die Flash-VM dies könnte, was hindert die Browser daran, dasselbe zu tun? Ich lese, wie es "nicht deterministisch" wäre, aber das ist der richtige Punkt?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage