archives

« Bugzilla Issues Index

#683 — 15.14.*: inconsistent/redundant handling of absent parameters


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