⊗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हिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј