⊗jsPmCdScp 134 of 505 menu

Փոփոխականների տեսանելիության տիրույթը if-else-ում JavaScript-ում

Պարզության համար ենթադրենք, որ գոյություն ունի միշտ կատարվող պայման։

if (true) { }

Դիտարկենք հետևյալ կոդը։

if (true) { let res = '!'; } console.log(res);

Ինչպես տեսնում եք, res փոփոխականին պետք է վերագրվի '!' արժեքը։ Սակայն, եթե գործարկեք այս կոդը, ապա կոնսոլում կցուցադրվի սխալ։

Բանն այն է, որ փոփոխականները, որոնք հայտարարված են ձևավոր փակագծերի ներսում, տեսանելի են միայն այդ փակագծերի ներսում և դրսից տեսանելի չեն։ Գիտականորեն այստեղ խոսքը փոփոխականների տեսանելիության տիրույթի մասին է։

Կարելի է ասել, որ ձևավոր փակագծերի ներսում հայտարարված փոփոխականների տեսանելիության տիրույթը միայն այդ ձևավոր փակագծերն են։ Սակայն, եթե փոփոխականը հայտարարված է դրսում, ապա այն տեսանելի է և՛ ներսում, և՛ դրսում։

let res; // փոփոխականը հայտարարված է դրսում if (true) { res = '!'; } console.log(res); // կցուցադրի '!'

Հետևյալ օրինակում res փոփոխականին կախված պայմանից վերագրվում է կամ 1, կամ 2 արժեքը։

let num = 5; if (num >= 0) { let res = 1; } else { let res = 2; } console.log(res);

Սակայն, եթե գործարկեք այս կոդը, ապա կոնսոլում կցուցադրվի սխալ։ Ինչպես հիմա արդեն հասկանում եք, ամբողջ բանը փոփոխականների տեսանելիության մեջ է։ Խնդիրը լուծելու համար հայտարարենք փոփոխականը դրսում։

let test = true; let res; // հայտարարենք փոփոխականը պայմանի դրսում if (test) { res = 1; } else { res = 2; } console.log(res); // կցուցադրի 1

Ստորև բերված կոդի հեղինակը ցանկանում էր կատարել տարիքի ստուգում՝ 18 տարեկան դառնալու համար։ Սակայն կոդը չի աշխատում։ Ուղղեք կոդի հեղինակի սխալը։ Ահա խնդրահարույց կոդը։

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
Հայերեն
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-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել