⊗jsPmCdScp 134 of 505 menu

JavaScript'te if-else Değişken Kapsamı

Basitlik için, her zaman çalışan bir koşulumuz olsun:

if (true) { }

Şu kodu inceleyelim:

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

Gördüğünüz gibi, res değişkenine '!' değeri atanmalı. Ancak, bu kodu çalıştırırsanız, konsola bir hata yazdırılacak!

Sebebi şudur: süslü parantezlerin içinde tanımlanan değişkenler, sadece bu parantezlerin içinde görülebilir, dışarıda görülemez. Bilimsel olarak konuşursak, burada değişken kapsamı söz konusudur.

Süslü parantezlerin içinde tanımlanan değişkenlerin kapsamının sadece bu süslü parantezler olduğu söylenebilir. Ancak, eğer bir değişken süslü parantezlerin dışında tanımlanmışsa, hem onların içinde hem de dışında görülebilir:

let res; // değişken dışarıda tanımlandı if (true) { res = '!'; } console.log(res); // '!' yazdıracak

Aşağıdaki örnekte, res değişkenine koşula bağlı olarak ya 1 değeri, ya da 2 değeri yazılır:

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

Ancak, bu kodu çalıştırırsanız, konsola bir hata yazdırılacak. Artık anladığınız gibi, sebep değişkenlerin görünürlüğüdür. Sorunu çözmek için değişkeni koşulun dışında tanımlayalım:

let test = true; let res; // değişkeni koşulun dışında tanımla if (test) { res = 1; } else { res = 2; } console.log(res); // 1 yazdıracak

Aşağıdaki kodun yazarı, yaşın 18 yaşına ulaşıp ulaşmadığını kontrol etmek istedi. Ancak, kod çalışmıyor. Kod yazarının hatasını düzeltin. İşte sorunlu kod:

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet