Oba predstavljata "brez vrednosti", vendar z različnim namenom in izvorom.
Oba predstavljata "brez vrednosti", vendar z različnim namenom in izvorom.
undefined: odsotnost vrednosti, običajno nastavljeno s strani JavaScript motorja — deklarirana-a-nepridjena spremenljivka, manjkajoča lastnost objekta, parameter funkcije, ki ga niste posredovali, ali funkcija brez return.null: namensko "prazna" vrednost, ki jo vi dodelite, da rečete "namerno nič tukaj".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
Uporabite null za namerno brisanje vrednosti (npr. "nobeden izbran uporabnik"), in obravnavajte undefined kot "še ni nastavljeno". Operatorja ?? (nullish coalescing) in ?. (optional chaining) hkrati obravnavata oba, zato sta tako pogosto uporabljena.
Knjižnica IT vprašanj za razgovore s podrobnimi odgovori — od začetnika do izkušenega.
Doniraj