⊗jsPmCdScpN 135 of 505 menu

JavaScript-da if-else konstruksiyalarida o'zgaruvchilar ko'rish sohasining nuanslari

O'zgaruvchilar ko'rish sohasi bir qancha nuansga ega. Keling, uni misol orqali ko'rib chiqaylik. Shartimizdan tashqarida res o'zgaruvchisini bir qiymat bilan e'lon qilaylik, shart ichida esa ushbu qiymatni boshqasiga o'zgartiramiz:

let res = 1; if (true) { res = 2; } console.log(res); // 2 ni chiqaradi

Ko'rib turganingizdek, res o'zgaruvchisi shart ichida o'zgartirildi. Biroq, hammasi o'zgaradi, agar shart ichida res o'zgaruvchisi let orqali qayta e'lon qilinsa:

let res = 1; if (true) { let res = 2; // o'zgaruvchini let orqali e'lon qilamiz } console.log(res); // 2 emas, 1 ni chiqaradi!

Bu yerda butun ish shundaki, shart ichida let orqali o'zgaruvchi e'lon qilish mahalliy res o'zgaruvchisini yaratdi.

Ya'ni shart ichida bitta res o'zgaruvchisi mavjud, shartdan tashqarida esa - boshqasi. Bunga ishonch hosil qilish uchun o'zgaruvchi qiymatini shart ichida konsolga chiqarish mumkin:

let res = 1; if (true) { let res = 2; console.log(res); // 2 ni chiqaradi } console.log(res); // 1 ni chiqaradi

Quyidagi kod muallifi yoshning 18 yoshga yetganligini tekshirmoqchi edi. Biroq, kod har qanday yosh qiymatida konsolga undefined qiymatini chiqaradi. Kod muallifining xatosini tuzating. Muammoli kod:

let age = 17; let adult; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);

Quyidagi kod muallifi yoshning 18 yoshga yetganligini tekshirmoqchi edi. Kodni tekshirgandan so'ng, ma'lum bo'ldiki, agar yosh 18 yoshga teng yoki undan katta bo'lsa, adult o'zgaruvchisiga true yoziladi, xuddi shunday bo'lishi kerakdek, biroq, agar yosh 18 dan kichik bo'lsa, adult o'zgaruvchisi undefined qiymatiga ega. Kod muallifining xatosini tuzating.

Muammoli kod:

let age = 17; let adult; if (age >= 18) { adult = true; } else { let adult = false; } console.log(adult);

Quyidagi kod muallifi yoshni tekshirmoqchi edi. Biroq, kod har qanday yosh qiymatida konsolga undefined qiymatini chiqaradi. Kod muallifining xatosini tuzating.

Muammoli kod:

let age = 17; let res; if (age >= 18) { if (age <= 23) { let res = '18 dan 23 gacha'; } else { let res = '23 dan katta'; } } else { let res = '18 dan kichik'; } console.log(res);

Quyidagi kod muallifi yoshni tekshirmoqchi edi. Biroq, kod yosh qiymati 18 yoshdan katta bo'lganda konsolga undefined qiymatini chiqaradi. Kod muallifining xatosini tuzating.

Muammoli kod:

let age = 19; let res; if (age >= 18) { let res; if (age <= 23) { res = '18 dan 23 gacha'; } else { res = '23 dan katta'; } } else { res = '18 dan kichik'; } console.log(res);
Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish