Sobes.tech
Junior

Ի՞նչ է տարբերությունը null և undefined-ի միջև։

sobes.tech AI

Պատասխան AI-ից

undefined ցույց է տալիս նշանակված արժեքի բացակայությունը: Փոփոխականը հայտարարված է, բայց նրան չի նշանակվել արժեք: Սա արդյունքն է այն բանի, երբ մուտք ենք գործում գոյություն չունեցող հատկության կամ զանգվածի տարրին:

null — դա բացահայտ նշանակված արժեք է "արժեքի բացակայություն": Դավաճանը նպատակահարմար է ցույց տալ, որ փոփոխականը կամ օբյեկտի հատկությունը արժեք չունեն: Դա օբյեկտ է, բայց ոչ primitive տիպ (համենայն դեպս 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