Mindkettő "nincs érték" megjelenítésére szolgál, de eltérő szándékkal és eredettel.
Mindkettő "nincs érték" megjelenítésére szolgál, de eltérő szándékkal és eredettel.
undefined: egy érték hiánya, általában a JavaScript motor által beállítva — egy deklarált-de-nem-hozzárendelt változó, egy hiányzó objektumtulajdonság, egy függvényparaméter, amelyet nem adtál át, vagy egy return nélküli függvény.null: egy szándékos "üres" érték, amelyet te rendelsz hozzá annak jelzésére, hogy "szándékosan semmi sincs itt."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
Használd a null értéket egy érték szándékos törlésére (pl. "nincs kiválasztott felhasználó"), és az undefined értéket "még nincs beállítva"-ként kezelje. A ?? (nullish coalescing) és ?. (optional chaining) operátorok mindkettőt egyszerre kezelik, ami az oka annak, hogy olyan széles körben használatosak.
IT interjúkérdések gyűjteménye részletes válaszokkal — Juniortól Seniorig.
Adományozás