Oba predstavljaju "nema vrijednosti," ali s različitim namjerama i podrijetlom.
Oba predstavljaju "nema vrijednosti," ali s različitim namjerama i podrijetlom.
undefined: nedostatak vrijednosti, obično postavljen od strane JavaScript motora — deklarirana-ali-nedodjeljena varijabla, svojstvo objekta koja nedostaje, parametar funkcije koji niste prosljeđivali, ili funkcija bez return.null: namjerna "prazna" vrijednost koja vi dodjeljujete da kažete "namjerno ništa ovdje."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
Koristite null da namjerno očistite vrijednost (npr. "nema odabranog korisnika"), i tretirajte undefined kao "još nije postavljeno." Operatori ?? (nullish coalescing) i ?. (optional chaining) obrađuju oba odjednom, što je razlog zašto se toliko često koriste.
Knjižnica IT pitanja za razgovore za posao s detaljnim odgovorima — od Juniora do Seniora.
Doniraj