⊗jsPmCdScp 134 of 505 menu

JavaScript-də if-else şərtlərində dəyişənlərin görünmə sahəsi

Sadəlik üçün fərz edək ki, həmişə doğru olan bir şərtimiz var:

if (true) { }

Gəlin aşağıdakı kodu nəzərdən keçirək:

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

Gördüyünüz kimi, res dəyişəninə '!' qiyməti mənimsədilməlidir. Lakin, bu kodu işlətsək, konsola xəta çıxacaq!

Məsələ ondadır ki, fiqurlu mötərizələr daxilində elan edilmiş dəyişənlər yalnız həmin mötərizələr daxilində görünür, xaricdə isə görünmür. Elmi cəhətdən desək, burada dəyişənlərin görünmə sahəsindən söhbət gedir.

Deyə bilərik ki, fiqurlu mötərizələr daxilində elan edilmiş dəyişənlərin görünmə sahəsi yalnız həmin fiqurlu mötərizələrdir. Lakin, əgər dəyişən fiqurlu mötərizələrin xaricində elan edilibsə, onda həm onların daxilində, həm də xaricində görünür:

let res; // dəyişən xaricdə elan edilib if (true) { res = '!'; } console.log(res); // '!' çıxardacaq

Aşağıdakı nümunədə res dəyişəninə şərtdən asılı olaraq ya 1, ya da 2 qiyməti mənimsədilir:

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

Lakin, bu kodu işlətsək, konsola xəta çıxacaq. İndi başa düşdüyünüz kimi, bütün iş dəyişənlərin görünmə sahəsindədir. Problemi həll etmək üçün dəyişəni şərtin xaricində elan edək:

let test = true; let res; // dəyişəni şərtin xaricində elan edək if (test) { res = 1; } else { res = 2; } console.log(res); // 1 çıxardacaq

Aşağıdakı kodun müəllifi 18 yaşa çatıb-çatmama yoxlaması aparmaq istəyirdi. Lakin, kod işləmir. Kod müəllifinin səhvini düzəldin. Problemli kod belədir:

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et