"foo" instanceof String //=> false
"foo" instanceof Object //=> false
true instanceof Boolean //=> false
true instanceof Object //=> false
false instanceof Boolean //=> false
false instanceof Object //=> false
12.21 instanceof Number //=> false
/foo/ instanceof RegExp //=> true
// the tests against Object really don't make sense
Array literals and Object literals match…
[0,1] instanceof Array //=> true
{0:1} instanceof Object //=> true
Why don’t all of them? Or, why don’t they all not?
And, what are they an instance of, then?
It’s the same in FF3, IE7, Opera, and Chrome. So, at least it’s consistent.