Hallo,
null repräsentiert ein Objekt.
Wenn
typeof null === 'null'
gelten würde, hätte man dieses Problem nicht und wäre sicher, dass man immer ein echtes Objekt o hat, fallstypeof o === 'object'
gilt.
var o = document.getElementById('gibtsnicht');
Da soll ein Objekt zurück kommen?
Nein, wieso denn? Ich habe ja nichts dagegen, dass null zurückkommt, wenn kein entsprechendes Objekt existiert. Aber ich habe etwas dagegen, dass typeof den Wert null als Objekt ausgibt. Ein nicht existierendes Objekt ist eben keins, ganz einfach. Da ist es doch Betrug, wenn typeof mir weismachen will, es sei doch eins...
Du willst nicht auf if(!o) testen?
Doch, natürlich. Das könnte ich aber auch, wenn z.B. undefined zurückkäme statt null, und mit typeof hat das ja überhaupt nichts zu tun.
Kann mich gar nicht erinnern, jemals typeof benutzt zu haben. Aber wenn man es doch mal meint benutzen zu sollen, wie hier im OP, dann will man doch sinnvolle Antworten und nicht als Objkete getarnte Nichtse oder als Zahlen verkleidete Nicht-Zahlen oder solchen Quatsch ;)
Gruß, Don P