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