Sobes.tech
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