⊗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 файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау