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