Garrett Smith wrote:
The addition operator results in concatenation when either operand is
a string. This results in a calls to the internal ToString, which is
what I'm suggesting should be the general rule.

All I'm saying is that this will require annotating a very large number of API methods; possibly larger than an alternate general rule.

I agree that loading path + '/null' or path + 'undefined' is not
desirable. Any application that relies on this is already broken,
arguably, because, contrary to your observations, safari first checks
to see if the argument is null or undefined or the empty string

Indeed. I mixed up Safari and Opera in my test. So Opera does undefined -> "undefined" and null -> "null" for the first arg of window.open, while safari treats them as empty strings.

That can be the default, perhaps.  But I suspect usually null should become
"", not "null".

Why?

Honestly? Because that's what Firefox does right now, except in certain special cases (window.open being one of them, actually), and things aren't breaking? Unless other UAs are doing other things (and hence sites just don't rely on any particular behavior at all), this seems to indicate that web compat lies on the side of treating null as "".

-Boris


Reply via email to