Junior
Kuo skiriasi null nuo undefined?
sobes.tech AI
Atsakymas iš AI
undefined rodo, kad nėra priskirtos reikšmės. Kintamasis yra deklaruotas, bet jam nėra priskirta jokia reikšmė. Tai yra rezultatas, kai bandome pasiekti neegzistuojančią objekto savybę arba masyvo elementą.
null yra aiškus priskyrimas reikšmės "reikšmės nebuvimas". Kūrėjas tyčia nurodo, kad kintamasis arba objekto savybė neturi reikšmės. Tai yra objektas, bet ne primitivas pagal tipą (nors typeof null grąžina 'object', kas yra kalbos istorijos klaida).
// 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