Are function arguments with the value `undefined` "present"?

Till Schneidereit tschneidereit at gmail.com
Fri May 31 04:33:17 PDT 2013


I couldn't find any precise definition for the spec term "present", so this
is not entirely clear to me.

Example:
In step 7 of 15.4.3.21 Array.prototype.reduce, a TypeError must be thrown
if the optional argument `initialValue` isn't present. If a value of
`undefined` does *not* cause the argument to be present, that function can
be implemented with the following signature:

`function ArrayReduce(callbackfn, initialValue = undefined)`

If, however, the value `undefined` means that the argument is present, the
signature should probably be:

`function ArrayReduce(callbackfn, ...rest)`


The question isn't entirely academic, as I'm trying to get the self-hosted
implementations of builtins in SpiderMonkey to be as close to the spec as
possible.


thanks,
till
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20130531/8fcf3508/attachment.html>


More information about the es-discuss mailing list