In these two cases, the default parameter value given in the signature
is inconsistent with the behaviour specified by the algorithm:
15.14.2.1 "Map (iterable = [ ] )"
but step 5 says:
"If iterable is not present, let iterable be undefined."
15.14.3.1 "new Map (iterable = [ ])"
but step 2 says:
"If iterable is not present, let iterable be undefined."
In this case, it's redundant:
15.14.5.3 "Map.prototype.forEach ( callbackfn, thisArg = undefined )"
but step 5 says:
"If thisArg was supplied, let T be thisArg; else let T be undefined."
corrected in rev 11 editor's draft.
Yes, iterable = [ ] is defininitely not the same as iterable = undefined, so I changed that.
However, iterable = undefined seems like a good way to indicate that an argument is explicitly specified to be optional with no default value.
in October 26, 2012 release draft