Sobes.tech
Junior

Jaký je rozdíl mezi null a undefined?

sobes.tech AI

Odpověď od AI

undefined označuje nepřítomnost přiřazené hodnoty. Proměnná je deklarována, ale žádná hodnota jí nebyla přiřazena. Výsledkem je přístup k neexistující vlastnosti objektu nebo prvku pole.

null je výslovné přiřazení hodnoty "nepřítomnost hodnoty". Vývojář záměrně uvádí, že proměnná nebo vlastnost objektu nemají hodnotu. Je to objekt, ale ne primitivní typ (ačkoliv typeof null vrací 'object', což je chyba v historii 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