JavaScriptは、typeof nullが"object"だったり、typeof new String("foo")が"object"だったり、"foo" instanceof Stringがfalseだったりする。 なので、それらをまとめて下のような関数にして、ビットマスクを使って目的の型かどうかを確認できるようにする。 var Type = { OBJECT: 0x01, ARRAY: 0x02, STRING: 0x04, FUNCTION: 0x08, NUMBER: 0x10, BOOLEAN: 0x20, UNDEFINED: 0x40, NULL: 0x80, getType: function getType(object) { var ret = 0x00; if (object instanceof Object) ret |= 0x01; if (object