Molemmat edustavat "ei arvoa", mutta eri tarkoituksella ja alkuperällä.
Molemmat edustavat "ei arvoa", mutta eri tarkoituksella ja alkuperällä.
undefined: arvon puuttuminen, jonka yleensä asettaa JavaScript-moottori — ilmoitettu mutta määrittämätön muuttuja, puuttuva objektin ominaisuus, funktioparametri, jota et välittänyt, tai funktio ilman return.null: tarkoituksellinen "tyhjä" arvo, jonka sinä määrität sanodaksesi "tarkoituksellisesti mitään täällä".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
Käytä null arvon tarkoitukselliseen tyhjentämiseen (esim. "ei valittua käyttäjää"), ja kohtele undefined kuten "ei vielä asetettu". Operaattorit ?? (nullish coalescing) ja ?. (optional chaining) käsittelevät molemmat kerralla, minkä vuoksi niitä käytetään niin laajasti.
Kirjasto IT-haastattelukysymyksiä yksityiskohtaisine vastauksineen — Juniorista Senioriin.
Lahjoita