Junior
Jaka jest różnica między null a undefined?
sobes.tech AI
Odpowiedź od AI
undefined wskazuje na brak przypisanej wartości. Zmienna jest zadeklarowana, ale nie przypisano jej żadnej wartości. Jest to wynik dostępu do nieistniejącej właściwości obiektu lub elementu tablicy.
null to jawne przypisanie wartości "braku wartości". Programista celowo wskazuje, że zmienna lub właściwość obiektu nie mają wartości. Jest to obiekt, ale nie prymityw typu (chociaż typeof null zwraca 'object', co jest błędem historycznym języka).
// 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