Ambele reprezintă "nicio valoare", dar cu intenție și origine diferite.
Ambele reprezintă "nicio valoare", dar cu intenție și origine diferite.
undefined: absența unei valori, de obicei setată de motorul JavaScript — o variabilă declarată-dar-neatribuită, o proprietate de obiect lipsă, un parametru de funcție pe care nu l-ai transmis, sau o funcție fără return.null: o valoare "goală" intențională pe care tu o atribui pentru a spune "intenționat nimic aici".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
Foloseș null pentru a șterge intenționat o valoare (de ex. "niciun utilizator selectat"), și tratează undefined ca "nu este setat încă". Operatorii ?? (nullish coalescing) și ?. (optional chaining) gestionează ambele în același timp, ceea ce explică de ce sunt atât de larg utilizați.
O bibliotecă de întrebări de interviu IT cu răspunsuri detaliate — de la Junior la Senior.
Donează