Nullish Coalescing mit ??
Legen Sie Standardwerte nur für null und undefined fest.
Nullish Coalescing mit ?? ist eine kostenlose JavaScript Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des JavaScript Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der JavaScript Academy-Kurs umfasst insgesamt 4 Lektionen.
Standardwerte bereitstellen
Oft benötigen Sie einen Ersatzwert, wenn ein Wert fehlt. Der Nullish-Coalescing-Operator bietet eine übersichtliche Möglichkeit, nur bei Bedarf Standardwerte bereitzustellen.
const name = undefined;
console.log(name ?? "Guest"); // "Guest"Der ??-Operator
Der Doppel-Fragezeichen-Operator gibt den Wert auf der rechten Seite nur zurück, wenn die linke Seite null oder undefined ist.
console.log(null ?? "fallback"); // "fallback"
console.log(undefined ?? "fallback"); // "fallback"
console.log("hi" ?? "fallback"); // "hi"Warum nicht || verwenden
Das logische Oder || verwendet bei jedem falsy-Wert den Ersatzwert, einschließlich 0, "" und false. Das ist bei echten Daten häufig falsch.
console.log(0 || 10); // 10 (probably unwanted)
console.log(0 ?? 10); // 0 (keeps the real value)Fall einer leeren Zeichenkette
Mit || wird eine absichtlich leere Zeichenkette ersetzt; mit ?? bleibt sie erhalten, weil "" nicht nullish ist.
const note = "";
console.log(note || "none"); // "none"
console.log(note ?? "none"); // ""false bleibt erhalten
Ein echter Wert false bleibt mit ?? erhalten, würde aber von || überschrieben.
const enabled = false;
console.log(enabled ?? true); // false
console.log(enabled || true); // trueKonfiguration sicher auslesen
?? eignet sich ideal für Einstellungen, bei denen 0 oder ein leerer Wert gültige Optionen sind, die Sie absichtlich auswählen können.
function getVolume(settings) {
return settings.volume ?? 50;
}
console.log(getVolume({ volume: 0 })); // 0Funktioniert mit Variablen
Der Operator funktioniert mit beliebigen Ausdrücken und gibt den ersten Operanden zurück, der nicht nullish ist.
let cached = null;
const value = cached ?? computeValue();
function computeValue() { return 99; }
console.log(value); // 99Auswertung mit Kurzschluss
Wie || und && wertet ?? mit Kurzschluss aus: Ist die linke Seite nicht nullish, wird die rechte Seite niemals ausgewertet.
function side() { console.log("called"); return 1; }
const x = "ready" ?? side(); // side() never runs
console.log(x);Nicht direkt mit && oder || kombinierbar
Wenn Sie ?? ohne Klammern mit && oder || kombinieren, tritt ein Syntaxfehler auf, um Mehrdeutigkeiten zu vermeiden.
const a = true, b = null;
// const c = a || b ?? 1; // SyntaxError
const c = (a || b) ?? 1;
console.log(c);Standardparameter von Funktionen im Vergleich zu ??
Standardparameter werden nur angewendet, wenn ein Argument undefined ist. ?? berücksichtigt zusätzlich explizit übergebenes null.
function greet(name = "Guest") { return "Hi " + name; }
console.log(greet(null)); // "Hi null"
function greet2(name) { return "Hi " + (name ?? "Guest"); }
console.log(greet2(null)); // "Hi Guest"Wann welcher Operator sinnvoll ist
Verwenden Sie ??, wenn 0, "" oder false gültige Werte sind, die erhalten bleiben müssen. Verwenden Sie || nur, wenn jeder falsy-Wert durch einen Ersatzwert ersetzt werden soll.
const retries = 0;
console.log(retries ?? 3); // 0 keptKurze Überprüfung
Vergleichen Sie die Operatoren.
Zusammenfassung
Der Operator ?? gibt die rechte Seite nur zurück, wenn die linke Seite null oder undefined ist, und erhält 0, "" sowie false. Dadurch ist er bei Standardwerten für echte Daten sicherer als ||. Er wertet mit Kurzschluss aus und kann ohne Klammern nicht mit &&/|| kombiniert werden.
Häufig gestellte Fragen
Ist die Lektion „Nullish Coalescing mit ??“ kostenlos?
Ja — der vollständige Text von „Nullish Coalescing mit ??“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des JavaScript Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der JavaScript Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Nullish Coalescing mit ??“?
Legen Sie Standardwerte nur für null und undefined fest. Du übst JavaScript Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um JavaScript Academy zu starten?
Keine Vorkenntnisse erforderlich. JavaScript Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Nullish Coalescing mit ??“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser JavaScript Academy-Lektion Code schreiben und ausführen?
Ja. Jede JavaScript Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Optional Chaining mit dem Operator ?.
- Nullish Coalescing mit ??
- ?. und ?? kombinieren
- Optionale Aufrufe und Indexzugriff