Båda representerar "inget värde", men med olika avsikt och ursprung.
Båda representerar "inget värde", men med olika avsikt och ursprung.
undefined: frånvaron av ett värde, vanligtvis inställd av JavaScript-motorn — en deklarerad men otilldelad variabel, en saknad objektegenskap, en funktionsparameter du inte skickade, eller en funktion utan return.null: ett avsiktligt "tomt" värde som du tilldelar för att säga "helt enkelt ingenting här".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
Använd null för att avsiktligt rensa ett värde (t.ex. "ingen vald användare"), och behandla undefined som "ännu inte inställt". Operatorerna ?? (nullish coalescing) och ?. (optional chaining) hanterar båda på en gång, vilket är varför de är så allmänt använda.
Ett bibliotek med IT-intervjufrågor och detaljerade svar — från Junior till Senior.
Donera