Beide repräsentieren "keinen Wert", aber mit unterschiedlicher Absicht und Herkunft.
Beide repräsentieren "keinen Wert", aber mit unterschiedlicher Absicht und Herkunft.
undefined: die Abwesenheit eines Wertes, normalerweise von der JavaScript-Engine gesetzt — eine deklarierte, aber nicht zugewiesene Variable, eine fehlende Objekteigenschaft, ein Funktionsparameter, den Sie nicht übergeben haben, oder eine Funktion ohne return.null: ein absichtlicher "leerer" Wert, den Sie zuweisen, um zu sagen "hier absichtlich nichts".let a; // undefined — declared, not assigned
const obj = {};
obj.missing; // undefined — property doesn't exist
function f() {}
f(); // undefined — no return
const b = null; // null — you chose to empty it
null == undefined; // true — loose equality treats them as equal
null === undefined; // false — different types
typeof undefined; // "undefined"
typeof null; // "object" (historical bug)
const value = input ?? "default"; // defaults on EITHER null or undefined
user?.address?.city; // optional chaining — undefined if any link is null/undefined
Verwenden Sie null, um einen Wert bewusst zu löschen (z. B. "kein ausgewählter Benutzer"), und behandeln Sie undefined als "noch nicht gesetzt". Die Operatoren ?? (Nullish-Coalescing) und ?. (Optional Chaining) verarbeiten beide auf einmal, weshalb sie so weit verbreitet sind.
Eine Sammlung von IT-Interviewfragen mit ausführlichen Antworten — vom Junior bis zum Senior.
Spenden