typeof null in JavaScript: Ein UK-Leitfaden für 2026
17. August 2026
Erfahren Sie, warum `typeof null` in JavaScript 'object' zurückgibt, wie Sie das Problem beheben und welche Best Practices für Null-Prüfungen im Jahr 2026 gelten.
Verständnis von typeof null
In JavaScript soll der `typeof`-Operator den Datentyp einer Variablen zurückgeben. Wenn man jedoch `typeof null` ausführt, gibt er überraschenderweise `'object'` zurück. Dies ist seit Jahrzehnten eine bekannte Eigenheit und sorgt oft für Stolperfallen bei Entwicklern, insbesondere bei denen, die neu in der Sprache sind. Für britische Entwickler, die an modernen Node.js-Diensten oder Frontend-Frameworks wie React arbeiten, ist es entscheidend, dieses Verhalten zu verstehen. Es kann zu subtilen Bugs führen, wenn man sich auf `typeof` verlässt, um zwischen Objekten und `null` zu unterscheiden. Im Jahr 2026, mit immer komplexerer Datenverarbeitung in britischen Tech-Projekten, ist das genaue Wissen, was `typeof null` zurückgibt, der erste Schritt zu robustem Code.
Der historische Bug dahinter
Entgegen der landläufigen Meinung ist die Tatsache, dass `typeof null` `'object'` zurückgibt, keine bewusste Designentscheidung – es handelt sich tatsächlich um einen Bug aus der allerersten Version von JavaScript. 1995 implementierte Brendan Eich `typeof` mit einem Typ-Tag-System, und `null` wurde das Tag `0` zugewiesen, das unglücklicherweise dem Objekttyp entsprach. Als dies entdeckt wurde, hätte eine Behebung bestehenden Code gebrochen, also ließ man den Bug bestehen. Für Entwickler im Vereinigten Königreich ist diese Geschichte eine Erinnerung daran, dass selbst die am weitesten verbreiteten Sprachen Altlasten aus ihrer Anfangszeit mit sich tragen. Wenn man Junior-Kollegen in britischen Coding-Bootcamps mentorisiert, hilft diese Historie zu erklären, warum wir uns bei Null-Checks nicht einfach auf `typeof` verlassen können.
So prüfen Sie Null richtig
Um in JavaScript auf `null` zu prüfen, sollten Sie sich niemals auf `typeof null` verlassen, da dies ein falsch-positives Ergebnis für Objekte liefert. Verwenden Sie stattdessen den strikten Gleichheitsoperator: `value === null`. Dieser gibt nur dann `true` zurück, wenn der Wert exakt `null` ist. Wenn Sie auch `undefined` behandeln müssen, verwenden Sie `value == null` (lockere Gleichheit), die beide Fälle abdeckt. Für britische Entwickler, die Datenvalidierer oder API-Handler erstellen, ist diese Unterscheidung von entscheidender Bedeutung. Wenn Sie beispielsweise JSON-Payloads von einer API der britischen Regierung erhalten, müssen Sie möglicherweise prüfen, ob ein optionales Feld null ist. Die Verwendung von `value === null` stellt sicher, dass Sie `undefined` nicht versehentlich als `null` behandeln und umgekehrt.
Häufige Fallstricke in britischen JavaScript-Projekten
In britischen Entwicklungsteams, insbesondere in Branchen wie Fintech und Gesundheitswesen, wo Datenpräzision entscheidend ist, kann die `typeof null`-Falle zu echten Problemen führen. Ein häufiger Stolperstein ist die Verwendung von `typeof value === 'object'` zum Herausfiltern von Objekten, wodurch versehentlich auch `null` eingeschlossen wird. Dies kann zu Fehlern führen, wenn über Arrays iteriert oder auf Eigenschaften zugegriffen wird. Ein weiterer Stolperstein ist das Verlassen auf `typeof` in serverseitigem Node.js-Code, um eingehende Daten von britischen Postleitzahl-Abfragen oder Zahlungsgateways zu validieren. Um diese Probleme zu vermeiden, sollte `typeof` immer mit expliziten Null-Prüfungen kombiniert werden. Zum Beispiel liefert `if (value !== null && typeof value === 'object')` das korrekte Ergebnis. Die Übernahme dieses Musters in deiner gesamten Codebasis wird dir stundenlanges Debugging ersparen.
Bewährte Verfahren und Alternativen
Im Jahr 2026 bietet modernes JavaScript sauberere Alternativen, die die `typeof null`-Eigenheit vollständig umgehen. Für optionale Verkettung verwenden Sie `?.`, um sicher auf verschachtelte Eigenschaften zuzugreifen — das behandelt null auf natürliche Weise. Für Standardwerte verwenden Sie den Nullish-Coalescing-Operator `??` statt `||`, damit leere Zeichenfolgen oder 0 nicht fälschlich als Fallback behandelt werden. Bei der Typprüfung sollten Sie für Arrays `Array.isArray(value)` verwenden; für einfache Objekte können Sie mit `Object.prototype.toString.call(value) === '[object Object]'` prüfen, wobei Sie null explizit ausschließen. Britische Engineering-Blogs und Fachartikel empfehlen durchgängig diese Muster, und die breitere Community bewegt sich hin zu strengeren Prüfungen. Machen Sie es sich zur Gewohnheit, explizite Nullprüfungen zusammen mit `typeof` zu schreiben, damit Ihr Code vorhersehbar und wartbar bleibt.
FAQ
Es ist ein Altlast-Bug aus der ersten Version von JavaScript. Null wurde ein Typ-Tag zugewiesen, das in der ursprünglichen Implementierung mit dem Objekttyp übereinstimmte. Eine Korrektur hätte bestehenden Code beschädigt, daher wurde es nie behoben. Diese Eigenheit bleibt in allen Versionen von ECMAScript erhalten.