Junior
Aký je rozdiel medzi null a undefined?
sobes.tech AI
Odpoveď od AI
undefined naznačuje neprítomnosť priradenej hodnoty. Premenná je deklarovaná, ale jej nebola priradená žiadna hodnota. Je to výsledok prístupu k neexistujúcej vlastnosti objektu alebo prvku poľa.
null je výslovné priradenie hodnoty "neprítomnosť hodnoty". Vývojár úmyselne uvádza, že premenná alebo vlastnosť objektu nemajú hodnotu. Je to objekt, ale nie primitívneho typu (hoci typeof null vracia 'object', čo je chyba v histórii jazyka).
// undefined
let x;
console.log(x); // undefined
const obj = {};
console.log(obj.prop); // undefined
// null
let y = null;
console.log(y); // null
const obj2 = { prop: null };
console.log(obj2.prop); // null