- From: <bugzilla@jessica.w3.org>
- Date: Wed, 23 Oct 2013 21:20:36 +0000
- To: public-webapps-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=23532
--- Comment #23 from Allen Wirfs-Brock <allen@wirfs-brock.com> ---
(In reply to Jonas Sicking from comment #21)
> If the goal is "treat passing undefined the same as not passing the argument
> at all, even for non-optional arguments", then we actually have two options:
>
> For a function like "void func(double arg)"
>
> A) Make both func() and func(undefined) throw TypeError.
> B) Make both func() and func(undefined) be equivalent to
> func(ToNumber(undefined)), i.e. equivalent to func(NaN).
>
> So far we've mostly debated A, which doesn't seem very web compatible.
>
> We certainly could do A for any new functions added to the platform, however
> that would create inconsistency between old and new functions which is
> unfortunate.
>
> B is likely much more web compatible, and could probably be done for both
> old and new APIs. Not throwing also feels a lot more "javascripty", but
> that's obviously a matter of opinion.
>
and B is exactly how a JS function defined as
function func(aNumber) { return +aNumber}
would behave if called either as func() or func(undefined)
It what a JS programmer expects, if leave out a argument that is used as a
number (or pass undefined) it will be treated as if it was NaN.
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Wednesday, 23 October 2013 21:20:38 UTC