Just curious:
Why is this? Same with strings:
This is a nuance of Javascript which I've found catches some out. The instanceof
of operator will always result in false if the LHS is not an object
type.
Note that new String('Hello World')
does not result in a string
type but is an object
. The new
operator always results in an object. I see this sort of thing:
function fnX(value)
{
if (typeof value == 'string')
{
//Do stuff
}
}
fnX(new String('Hello World'));
The expectation is that "Do Stuff
" will happen but it doesn't because the typeof the value is object.