Per resolution on July 26th at the in-person TC39 meeting...
Map.prototype.forEach, behaving similarly to Array.prototype.forEach, but whose
callbackFn receives arguments in this order:
value, key, map
eg.
let m = new Map();
let a = {};
m.set( a, "foo" );
m.forEach(( value, key, map ) => {
console.log( value, key );
});
// "foo", {}
Map.prototype.forEach ( callbackfn [ , thisArg ] )
callbackfn should be a function that accepts three arguments. forEach calls
callbackfn once for each key present in the map, in the order that that the
keys were set.
If a thisArg parameter is provided, it will be used as the |this| value for
each invocation of callbackfn. If it is not provided, undefined is used
instead.
callbackfn is called with three arguments: the current value, the current key
and the set instance object itself.
**NOTE** This was a basic attempt to match the sematics of
Array.prototype.forEach for API consistency. I concede that it may not all be
correct.
added to editor's draft
fixed in rev10, Sept. 27 2012 draft