Hallo,
Ich denke, der Ergebnistyp von typeof ist hier nicht das Problem.
Ja, das habe ich erst nicht erkannt. Klar liegt es hier daran, das dem typeof-Operator immer ein String gegeben wird.
Aber, was schlimmer ist: "typeof null" lügt 'object' und "typeof []" sagt ebenfalls 'object', statt 'array'.
Nein, da wird nichts gelogen. Ein Array (auch ein leeres) ist ein Objekt, nämlich eine Instanz der Array-Klasse. Und dasselbe gilt für das Null-Objekt.
Ein Null-Objekt gibt es nicht. Null ist "kein* Objekt. Das ist definitiv eine Lüge von typeof.
Array ist ein Objekt, das stimmt, aber wenn ich nach "typeof []" frage, interessiert mich das weniger, sondern ich will 'array' als Antwort.
Gruß, Don P