Sobes.tech
Junior

Каква е разликата между null и undefined?

sobes.tech AI

Отговор от AI

undefined показва липсата на присвоена стойност. Променливата е обявена, но не е получила стойност. Това е резултат от достъп до несъществуващо свойство на обект или елемент на масив.

null е явно присвояване на стойността "липса на стойност". Разработчикът умишлено посочва, че променливата или свойството на обекта нямат стойност. Това е обект, но не е примитив по тип (въпреки че typeof null връща 'object', което е грешка в историята на езика).

// 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