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