⊗jsPmCdScpN 135 of 505 menu

Dəyişənlərin görünmə sahəsinin if-else quruluşlarında incəlikləri JavaScript-də

Dəyişənlərin görünmə sahəsinin bəzi incəlikləri var. Gəlin bunu bir nümunə ilə nəzərdən keçirək. Gəlin şərtimizin xaricində bir dəyişən elan edək res bir dəyərlə, və daxildə isə bu dəyəri digəri ilə dəyişək:

let res = 1; if (true) { res = 2; } console.log(res); // 2 çap edəcək

Gördüyünüz kimi, res dəyişəni şərtin daxilində dəyişdi. Lakin, hər şey dəyişəcək, əgər şərtin daxilində dəyişən res let ilə elan edilərsə:

let res = 1; if (true) { let res = 2; // dəyişəni let ilə elan edək } console.log(res); // 2 yox, 1 çap edəcək!

Burada bütün iş ondadır ki, şərtin daxilində let ilə dəyişənin elan edilməsi lokal res dəyişəni yaradır.

Yəni şərtin daxilində bir res dəyişəni var, şərtin xaricində isə - başqa bir dəyişən. Buna əmin olmaq üçün dəyişənin dəyərini şərtin daxilində konsola çıxarda bilərik:

let res = 1; if (true) { let res = 2; console.log(res); // 2 çap edəcək } console.log(res); // 1 çap edəcək

Aşağıdakı kodun müəllifi 18 yaşa çatıb-çatmadığını yoxlamaq istəyirdi. Lakin, kod istənilən yaş dəyərində konsola undefined dəyərini çap edir. Kod müəllifinin səhvini düzəldin. Problemli kod budur:

let age = 17; let adult; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);

Aşağıdakı kodun müəllifi 18 yaşa çatıb-çatmadığını yoxlamaq istəyirdi. Kodun yoxlanılmasından sonra məlum oldu ki, əgər yaş 18 və ya daha böyükdürsə, onda adult dəyişəninə true yazılır, olduğu kimi, lakin, əgər yaş 18-dən kiçikdirsə, onda adult dəyişəni undefined dəyərinə malikdir. Kod müəllifinin səhvini düzəldin.

Problemli kod budur:

let age = 17; let adult; if (age >= 18) { adult = true; } else { let adult = false; } console.log(adult);

Aşağıdakı kodun müəllifi yaş yoxlaması yerinə yetirmək istəyirdi. Lakin, kod istənilən yaş dəyərində konsola undefined dəyərini çap edir. Kod müəllifinin səhvini düzəldin.

Problemli kod budur:

let age = 17; let res; if (age >= 18) { if (age <= 23) { let res = '18-dən 23-ə qədər'; } else { let res = '23-dən böyük'; } } else { let res = '18-dən kiçik'; } console.log(res);

Aşağıdakı kodun müəllifi yaş yoxlaması yerinə yetirmək istəyirdi. Lakin, kod yaş 18-dən böyük olduqda konsola undefined dəyərini çap edir. Kod müəllifinin səhvini düzəldin.

Problemli kod budur:

let age = 19; let res; if (age >= 18) { let res; if (age <= 23) { res = '18-dən 23-ə qədər'; } else { res = '23-dən böyük'; } } else { res = '18-dən kiçik'; } console.log(res);
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