Özet - Kapsam
Global, fonksiyon ve blok kapsamını kullanarak bir sayaç modülü yazarsın.
Özet - Kapsam
Bu grupta JavaScript'in dört kapsam kavramını gördün: global (en dış, her yerden erişilir), function (fonksiyon içi, dışarıdan kapalı), block (let/const ile { } içi) ve hoisting (var/function yukarı taşınır, let/const TDZ'de kalır).
Şimdi bunları bir arada kullanacaksın: bir sayaç modülü yazıp global ve function scope ile durum tutacak, sonra golgeleme ile iç ve dış değişkenleri karşılaştıracaksın.
Uygulama Sayaç modülü yaz
Dışta let counter = 0 ile global bir sayaç tanımla. increment() adında bir fonksiyon yaz; counter'ı bir artırıp yeni değeri döndürsün. Dışarıda console.log(increment()) çağrısını iki kez yap.
Örnek çözümü göster
let counter = 0;
function increment() {
counter = counter + 1;
return counter;
}
console.log(increment());
console.log(increment());
Uygulama Gölgeleme ile karşılaştır
Dışta let counter = 10 tanımla. snapshot() fonksiyonu yaz; içinde let counter = 50 tanımlayarak dış counter'ı gölgelesin ve counter'ı döndürsün. Dışarıda console.log(snapshot()) ile iç sonucu, sonra console.log(counter) ile dış counter'ı yazdır.
Örnek çözümü göster
let counter = 10;
function snapshot() {
let counter = 50;
return counter;
}
console.log(snapshot());
console.log(counter);
Kendini test et
-
Kapsam türünü eşleştir
- Global
- Her yerden erişilir
- Function
- Sadece fonksiyon içi
- Block
- let/const ile { } içi
- Hoisting
- var yukarı taşınır
-
Blok kapsamı tamamla
if (active) { ____ status = 'aktif'; console.log(status); }Cevabı göster
if (active) { let status = 'aktif'; console.log(status); }