Hallo,
Es gibt auch gar kein "Null", nur "null" als eingebauter Typ wie "false" oder "NaN"
Da verwechselst du Werte und Typen.
NaN ist ein Wert vom Typ Number (es gibt viele andere Werte vom Typ Number),
false ist ein Wert vom Typ Boolean (es gibt noch einen anderen Werte vom Typ Boolean),
null ist ein Wert vom Typ Null (es gibt nur diesen Wert des Types Null).
In JavaScript ist zwar fast alles ein Objekt, aber null gehört nicht dazu.
null ist wie gesagt vom Typ Null, für typeof gelten einfach Sonderregeln.
Mit welcher Begründung sollte typeof jetzt plötzlich bei Arrays ... was anderes als "object" zurückliefern.
(...) Es gibt aber kein primitives Array, sondern die sind immer Objekte, leider. typeof sollte hier IMHO trotzdem 'array' sagen.
Eine Begründung sehe ich da nicht, ich kann mich nur Svens Ausführungen anschließen: typeof ist was anderes als constructor oder instanceof.
Mathias