Nullish Coalescing Operator (??) einfach erklärt

17. August 2026

Lerne den Nullish Coalescing Operator (??) in JavaScript und TypeScript kennen – mit Beispielen, Fallstricken und Praxis-Tipps.

Was ist der Nullish Coalescing Operator?

Der Nullish Coalescing Operator, geschrieben als zwei Fragezeichen (??), ist ein logischer Operator in JavaScript und TypeScript. Er liefert den rechten Operanden zurück, wenn der linke Operand null oder undefined ist. Ansonsten wird der linke Operand verwendet. Das klingt zunächst ähnlich wie der logische ODER-Operator (||), der jedoch auch andere falsy-Werte wie 0, '' (leerer String) oder false ersetzt. Genau hier liegt der Unterschied: ?? behandelt ausschließlich nullish Werte. Für Entwickler in Deutschland, die oft mit strengen Typisierungen arbeiten, ist dies ein wichtiges Werkzeug, um unerwartete Fehler zu vermeiden, insbesondere bei der Verarbeitung von API-Antworten oder Nutzereingaben.

Unterschied zu logischem ODER (||) und Fallstricke

Der klassische ODER-Operator (||) wird häufig zur Fallback-Bildung genutzt, hat aber eine Tücke: Er ersetzt alle falsy Werte. Steht in einer Variablen zum Beispiel der Zahlenwert 0, ein leerer String oder false, greift || fälschlicherweise zum Fallback. Der Nullish Coalescing Operator (??) prüft ausschließlich auf null und undefined. Das ist besonders in deutschen Unternehmen relevant, wenn etwa Konfigurationen oder Formulardaten mit 0 oder leeren Feldern korrekt weiterverarbeitet werden sollen. Ein typischer Fallstrick: Die Kombination von ?? mit || in einem Ausdruck ohne Klammern führt zu einem Syntaxfehler. Verwenden Sie deshalb immer Klammern, wenn Sie beide Operatoren mischen möchten.

Anwendung in TypeScript und modernen Frameworks

In TypeScript wird der Nullish Coalescing Operator häufig eingesetzt, um optionale Werte sicher zu behandeln. Gerade wenn Strict-Mode aktiviert ist, erzwingt TypeScript eine saubere Handhabung von null und undefined. In Frameworks wie Angular, React oder Vue begegnet man ihm ebenfalls. Beispiel: In einer React-Komponente möchte man einen Standardwert für eine Prop setzen, ohne dass 0 oder ein leerer String überschrieben werden. Mit ?? funktioniert das elegant. In deutschen Entwicklerteams, die auf Codequalität und Typsicherheit achten, ist der Operator inzwischen ein fester Bestandteil des täglichen Codes. Auch in der neuesten ECMAScript-Version ist er offiziell standardisiert und benötigt kein Polyfill mehr.

Kombination mit optionaler Verkettung (?.) – starkes Duo

Der Nullish Coalescing Operator harmoniert perfekt mit der optionalen Verkettung (optional chaining) – der Operator, der als ?. geschrieben wird. Zusammen erlauben sie einen sicheren Zugriff auf tief verschachtelte Objektstrukturen, ohne bei jedem Schritt auf null oder undefined prüfen zu müssen. Ein Beispiel aus der Praxis: const name = user?.profile?.name ?? 'Gast'; Liest sich deutlich besser als verschachtelte if-Abfragen oder lange ternäre Ausdrücke. Dieses Duo ist besonders in Projekten hilfreich, die mit unzuverlässigen API-Daten arbeiten, wie sie häufig in deutschen Startups oder Mittelständlern vorkommen. Es reduziert die Fehleranfälligkeit und macht den Code lesbarer – ein klarer Vorteil für die Wartbarkeit.

Best Practices für Entwickler in deutschen Projekten

Damit der Nullish Coalescing Operator seine Vorteile voll entfalten kann, sollten Sie einige Punkte beachten: Setzen Sie ?? gezielt ein, wenn ausschließlich null oder undefined abgefangen werden sollen. Vermeiden Sie die direkte Mischung mit ||, && oder dem ternären Operator ohne Klammern – das führt sonst zu Syntaxfehlern. Achten Sie außerdem darauf, dass ältere Browser (z. B. IE11) den Operator nicht unterstützen. In solchen Fällen hilft ein Transpiler wie Babel. Für Teams, die mit TypeScript arbeiten, ist ?? eine saubere Alternative zu lodash's getOrDefault. Dokumentieren Sie den Operator im internen Styleguide und verwenden Sie ihn konsistent, damit alle Entwickler im Projekt davon profitieren und der Code einheitlich bleibt.

FAQ

Nullish ist ein Sammelbegriff für die beiden Werte null und undefined. Im Gegensatz zu anderen falsy Werten wie 0, false oder einem leeren String (''), die ebenfalls als 'falsch' gelten, sind null und undefined spezielle Platzhalter für 'kein Wert' oder 'nicht definiert'. Der Nullish Coalescing Operator greift nur bei diesen beiden Werten ein.

Neueste Ratgeber