JavaScript-ը, որպես բազմակողմանի և լայնորեն օգտագործվող ծրագրավորման լեզու, ունի որոշ առանձնահակություններ և նրբություններ: «null» և «undefaind» Երկու տերմին, որոնք հաճախ շփոթեցնում են ծրագրավորողներին, հատկապես նրանց, ովքեր նոր են տիրապետում լեզվին: Թեև երկուսն էլ ներկայացնում են արժեքի բացակայությունը, նրանք ունեն տարբեր իմաստներ և օգտագործման դեպքեր JavaScript-ում: Այս հոդվածում մենք կխորանանք null-ի և undefined-ի միջև եղած տարբերությունների մասին
Undefined:
JavaScript-ում փոփոխականին default վերագրվում է undefined երբ այն հայտարարվում է, բայց սկզբնական արժեք չունի: կամ երբ մուտք ենք գործում օբյեկտի գոյություն չունեցող property: Օրինակ:
let x;
console.log(x); // Outputs: undefined
Վերոնշյալ օրինակում փոփոխականը հայտարարված է, բայց արժեք չի նշվում, ինչի արդյունքում այն ավտոմատ կերպով սահմանվում է undefined.
Null:
Մյուս կողմից, null-ը արժեք է, որը պետք է հստակորեն նշանակվի: Այն հաճախ օգտագործվում է օբյեկտի արժեքի միտումնավոր բացակայությունը ցույց տալու համար: Ի տարբերություն undefined-ի, որը default արժեք է փոփոխականների համար, null-ը ծրագրավորողի կողմից կանխամտածված ընտրություն է: Օրինակ:
let y = null;
console.log(y); // Outputs: null
Կարևոր տարբերություններից մեկy null-ի և undefined-ի այն է, թե ինչպես են նրանք վարվում համեմատության ժամանկա: null-ի տիպը օբյեկտ է, մինչդեռ undefined-ի տիպը հենց undefined է: Դրանք համեմատելիս դրանք արժեքով հավասար են, բայց ոչ տեսակով.
console.log(null == undefined); // Outputs: true
console.log(null === undefined); // Outputs: false
Առաջին համեմատությունը ( ==) ստուգում է արժեքների հավասարությունը, իսկ երկրորդը ( ===) ստուգում է և՛ արժեքը, և՛ տեսակը: Ընդհանուր առմամբ խորհուրդ է տրվում օգտագործել խիստ հավասարություն ( ===)՝ անսպասելի տիպի տարբերություններից խուսափելու համար:
Ամփոփելով, JavaScript-ում null-ի և undefined-ի միջև տարբերությունը հասկանալը կարևոր է մաքուր և առանց սխալների կոդ գրելու համար: Թեև երկուսն էլ ներկայացնում են արժեքի բացակայություն, undefined-ը սովորաբար default վիճակ է, որը ավտոմատ կերպով նշանակվում է լեզվի կողմից, մինչդեռ null-ը ծրագրավորողի կողմից արված ընտրություն է:
Top comments (0)