⊗jsPmCdScpN 135 of 505 menu

JavaScript'теги if-else курулуштарындагы өзгөрмөлөрдүн көрүнүү аянтынын нюанстары

Өзгөрмөлөрдүн көрүнүү аянты бир нюанска ээ. Келгиле, аны мисал менен карап чыгалы. Келгиле, шарттыбыздын сыртында бир маани менен res өзгөрмөсүн жарыялап, шарттын ичинде бул маанини башкасына өзгөртөлү:

let res = 1; if (true) { res = 2; } console.log(res); // 2 чыгарат

Көрүп тургандарыңыздай, 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 жашка жеткенин текшергиси келген. Бирок, код кандай гана жаш маанисинде болбосун консолго undefined маанисин чыгарат. Коддун авторунун катасын оңдоп бериңиз. Мына көйгөйлүү код:

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

Төмөндөгү коддун автору жаштын 18 жашка жеткенин текшергиси келген. Кодду текшергенден кийин, эгер жаш 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çeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу