Sobes.tech
Junior

Kāda ir atšķirība starp null un undefined?

sobes.tech AI

Atbilde no AI

undefined norāda uz to, ka nav piešķirta vērtība. Mainīgais ir deklarēts, bet tam nav piešķirta neviena vērtība. Tas ir rezultāts, mēģinot piekļūt neeksistējošai objekta īpašībai vai masīva elementam.

null ir skaidrs piešķīrums vērtībai "vērtības trūkums". Izstrādātājs apzināti norāda, ka mainīgais vai objekta īpašība nav satur vērtību. Tas ir objekts, bet ne primitīvs tips (lai gan typeof null atgriež 'object', kas ir valodas vēsturiska kļūda).

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