instanceof 問題続き

http://d.hatena.ne.jp/yssk22/20090407#1239134996 で JS_InitStandardClass が怪しいよ、といわれて、ソースをいじって試してみたのだが、

function(doc) {
emit("0_Array", Array.toString());
emit("1_Number", Number.toString());
emit("2_Is Array?",  doc.array_member    instanceof Array)
emit("3_Is Number?", doc.array_member[1] instanceof Number)
// test the user  class
TestClass = function(){};
var obj = new TestClass();
emit("4_InstanceOfUserClass", obj instanceof TestClass)
}

got the result:

(key, value) ->
("0_Array", "function Array() {\n [native code]\n}")
("1_Number", "function Number() {\n [native code]\n}")
("2_Is Array", false)
("3_Is Number", false)
("4_InstanceOfUserClass", true)

だめだろ。こりゃ。instanceof が buggy なのか、JS_Contextがどうかしているのか。とにもかくにもSpiderMonkeyなんて知らないから再調査。。instanceof が使えなくても constructor.name はいけるとおもうんだけれど、Number には通用しないんだよ。。。