Begge repræsenterer "ingen værdi", men med forskellig hensigt og oprindelse.
Begge repræsenterer "ingen værdi", men med forskellig hensigt og oprindelse.
undefined: fraværet af en værdi, normalt sat af JavaScript-motoren — en deklareret-men-utildelel variabel, en manglende objektegenskab, en funktionsparameter du ikke har videregivet, eller en funktion uden return.null: en intentionel "tom" værdi som du tildeler for at sige "bevidst intet her".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
Brug null til at helt bevidst rydde en værdi op (f.eks. "ingen valgt bruger"), og behandl undefined som "ikke sat endnu". Operatorerne ?? (nullish coalescing) og ?. (optional chaining) håndterer begge på én gang, hvilket er grunden til at de bruges så meget.
Et bibliotek af IT-interviewspørgsmål med detaljerede svar — fra Junior til Senior.
Donér