⊗jsPmCdScpN 135 of 505 menu

JavaScript да иф-else конструкцияларида ўзгарувчилар кўриниш соҳасининг нюанслари

Ўзгарувчилар кўриниш соҳаси бир қанча нюансга эга. Келинг уни мисолда кўриб чиқайлик. Шартимизнинг ташқарисида res ўзгарувчисини бир қиймат билан эълон қилайлик, ва шарт ичида бу қийматни бошқасига ўзгартирайлик:

let res = 1; if (true) { res = 2; } console.log(res); // 2 ни чиқаради

Кўриб тургангизdek, res ўзгарувчиси шарт ичида ўзгарди. Аммо, шарт ичида res ўзгарувчисини let орқали яна эълон қилсак, ҳамма нарса ўзгаради:

let res = 1; if (true) { let res = 2; // ўзгарувчини let орқали эълон қиламиз } console.log(res); // 2 эмас, 1 ни чиқаради!

Бу ердаги исъ шундаки, шарт ичида let орқали ўзгарувчини эълон қилиш локаль res ўзгарувчисини яратиб берди.

Яъни шарт ичида бир res ўзгарувчиси мавжуд, шарт ташқарисида эса - бошқаси. Буни шарт ичида ўзгарувчи қийматини консольга чиқариб кўриш мумкин:

let res = 1; if (true) { let res = 2; console.log(res); // 2 ни чиқаради } console.log(res); // 1 ни чиқаради

Қуйидаги код муаллифи ёши 18 га yetganligini текширмоқчи бўлган. Аммо код, ҳар қандай ёш қийматида консольга undefined қийматини чиқармоқда. Код муаллифининг хатосини тўғринг. Мана муаммоли код:

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

Қуйидаги код муаллифи ёши 18 га yetganligini текширмоқчи бўлган. Кодни текширишдан сўнг маълум бўлдики, агар ёш 18 дан катта ёки тенг бўлса, adult ўзгарувчисига true ёзилади, худди бўлиши керакдек, аммо агар ёш 18 дан кичик бўлса, adult ўзгарувчисининг қиймати undefined бўлади. Код муаллифининг хатосини тўғринг.

Мана муаммоли код:

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

Қуйидаги код муаллифи ёшни текширмоқчи бўлган. Аммо код, ҳар қандай ёш қийматида консольга undefined қийматини чиқармоқда. Код муаллифининг хатосини тўғринг.

Мана муаммоли код:

let age = 17; let res; if (age >= 18) { if (age <= 23) { let res = '18 дан 23 гача'; } else { let res = '23 дан катта'; } } else { let res = '18 дан кичик'; } console.log(res);

Қуйидаги код муаллифи ёшни текширмоқчи бўлган. Аммо код, ёш қиймати 18 дан катта бўлганда консольга undefined қийматини чиқармоқда. Код муаллифининг хатосини тўғринг.

Мана муаммоли код:

let age = 19; let res; if (age >= 18) { let res; if (age <= 23) { res = '18 дан 23 гача'; } else { res = '23 дан катта'; } } else { res = '18 дан кичик'; } console.log(res);
Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш