⊗jsPmCdScpN 135 of 505 menu

Փոփոխականների տեսանելիության տիրույթի նրբությունները if-else կառուցվածքներում JavaScript-ում

Փոփոխականների տեսանելիության տիրույթն ունի որոշակի նրբություն։ Եկեք դիտարկենք այն օրինակով։ Եկեք մեր պայմանի սահմաններից դուրս հայտարարենք 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); // կարտածի 1, և ոչ 2!

Այստեղ ամբողջ բանը նրանում է, որ փոփոխականի հայտարարումը 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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել