Don P: globale variablen und funktionen

Beitrag lesen

Hallo,

null *repräsentiert* zwar in gewisser Weise ein nicht existentes Objekt, *ist* aber selber kein Objekt, sondern ein primitive value.

Genau! Es repräsentiert ein object und deshalb hat man sich wohl darauf geeinigt, dass typeof das auch so zurückgibt. Steht im Kapitel 11.4.3

Na also, das war doch nur meine Aussage: "null ist eigentlich kein Objekt", und du schriebst "Doch...".

Es ist mir schon klar, dass man sich halt entschlossen hat, typeof so zu definieren. Man hat ja auch beschlossen, dass NaN ("Not a Number") vom Typ "number" sein soll:

alert(typeof NaN); // => number *staun*

In gewisser Weise ist das ja verständlich. Aber z.B. gerade für den Zweck, der im OP beschrieben ist, ist es wenig hilfreich, wenn null oder ein Array als Objekt und NaN als Zahl verkauft wird. Es sind nunmal spezielle Typen und sollten sinnvollerweise von typeof auch als solche genannt werden. So aber ist typeof irgendwie nur "halbgar"... meiner bescheidenen Meinung nach.

Gruß, Don P