Yükleniyor...

Fonksiyonlar ve Kapsam

Fonksiyonlar (Functions) ve kapsam (Scope), JavaScript’in en temel ve güçlü özelliklerinden biridir. Fonksiyonlar, kodunuzu organize etmenize ve tekrar kullanılabilir hale getirmenize olanak tanır. Fonksiyonları bir mektup yazmak gibi düşünebilirsiniz: her mektup belirli bir mesaj taşır ve amacına hizmet eder. Kapsam ise, değişkenlerin ve fonksiyonların nerede erişilebilir olduğunu belirler; tıpkı bir odadaki eşyaların yalnızca o odada kullanılabilmesi gibi, bazı değişkenler yalnızca fonksiyon içinde erişilebilir (local scope), bazıları ise tüm uygulamada kullanılabilir (global scope).
Bu kavramlar, kişisel web sitelerinde form hesaplamaları yaparken, bloglarda içerik yönetiminde, e-ticaret sitelerinde sepet toplamlarını hesaplamada ve haber sitelerinde dinamik içerik gösteriminde hayati öneme sahiptir. Bu ders boyunca okuyucu, fonksiyon tanımlamayı, parametre ve dönüş değerlerini kullanmayı, local ve global değişkenleri yönetmeyi ve gerçek dünya örnekleri üzerinden kapsamı nasıl etkin kullanacağını öğrenecek. Fonksiyon ve kapsam bilgisi, kodun daha güvenli, modüler ve okunabilir olmasını sağlar; tıpkı bir evi planlayıp odaları işlevine göre düzenlemek gibi.

Temel Örnek

javascript
JAVASCRIPT Code
// Function to calculate total price of items
function toplamFiyat(fiyat, adet) {
// Local variable to store calculation
let toplam = fiyat * adet;
return toplam; // Return result
}

// Testing the function
console.log(toplamFiyat(100, 3)); // Output: 300

Bu örnekte, toplamFiyat adında bir fonksiyon tanımlanmıştır. Fonksiyon, fiyat ve adet adında iki parametre alır ve bunları çarparak toplam değişkenine atar. return ifadesi ile hesaplanan toplam değeri fonksiyon dışına gönderir. console.log(toplamFiyat(100, 3)) ifadesi 300 değerini döndürür.
toplam değişkeni local scope içinde tanımlandığı için yalnızca fonksiyon içinde erişilebilir ve dışarıdan değiştirilmesi mümkün değildir. Fonksiyon toplamFiyat ise global scope içinde olduğundan, programın herhangi bir yerinden çağrılabilir. Bu yapı, e-ticaret sitelerinde sepet toplamı, bloglarda sayfa başına içerik sayısı veya haber sitelerinde yorum sayısı hesaplamalarında güvenli ve modüler kod yazmayı sağlar. Başlangıç seviyesindeki geliştiriciler, local ve global değişkenlerin farkını iyi anlamalı ve return kullanımını doğru uygulamalıdır.

Pratik Örnek

javascript
JAVASCRIPT Code
// Function to calculate total order including tax
function siparisHesapla(urunler) {
let toplam = 0; // Local accumulator
for (let i = 0; i < urunler.length; i++) {
toplam += urunler\[i].fiyat * urunler\[i].adet; // Add each item's total
}
const vergi = toplam * 0.08; // 8% tax
return toplam + vergi; // Return total including tax
}

// Example usage
let sepet = \[
{isim: "Tshirt", fiyat: 50, adet: 2},
{isim: "Pantolon", fiyat: 120, adet: 1},
{isim: "Şapka", fiyat: 30, adet: 3}
];

console.log(siparisHesapla(sepet)); // Output: 332.4

Bu pratik örnekte siparisHesapla fonksiyonu, bir ürünler dizisi alır. Döngü ile her ürünün fiyatını adet ile çarpar ve toplam değişkenine ekler. Vergi hesaplanır ve toplam + vergi return ile döndürülür. total ve vergi değişkenleri fonksiyonun local scope’u içinde tanımlıdır; dışarıdan erişilemez. Fonksiyon, sepet toplamlarını hesaplama ve vergi ekleme gibi işlemleri modüler şekilde yapar.
Bu yaklaşım, blog sayfalarında içerik sayısı toplama, haber sitelerinde yorum sayısını hesaplama ve e-ticaret sitelerinde dinamik fiyat hesaplama gibi gerçek dünya senaryolarında oldukça etkilidir. Fonksiyon ve kapsam kullanımı, kodun okunabilirliğini artırır, hataları azaltır ve yeniden kullanılabilir modüller oluşturmanıza yardımcı olur.

En iyi uygulamalar arasında, fonksiyonları tek sorumluluk prensibi ile oluşturmak, global değişken kullanımını minimize etmek, modern let ve const kullanımı ve hata yakalama (try/catch) bulunur.
Yaygın hatalar; global değişkenlerin gereksiz kullanımı, fonksiyon içinde döngü ile fonksiyon tanımlamak, return un unutulması veya asenkron işlemlerde hatalı kapsam kullanımıdır. Hata ayıklamak için tarayıcı dev tools kullanabilir, kritik değişkenleri loglayabilir ve fonksiyonları küçük, test edilebilir parçalar halinde tutabilirsiniz. Pratik öneriler: fonksiyonları planlayın, yan etkileri minimize edin, saf fonksiyonlar (pure functions) kullanın ve büyük projelerde kodun okunabilirliğini koruyun.

📊 Hızlı Referans

Property/Method Description Example
function Fonksiyon tanımlamak için kullanılır function selamla(isim) { return "Merhaba " + isim; }
return Fonksiyondan değer döndürür return toplam;
let Block scope değişken tanımlar let toplam = 0;
const Block scope sabit tanımlar const VERGI = 0.08;
Global Scope Programın her yerinden erişilebilir değişkenler console.log(toplamFiyat(10,2));
Local Scope Fonksiyon içinde erişilebilir değişkenler let toplam = fiyat * adet;

Sonuç olarak, fonksiyonlar ve kapsam JavaScript’te modüler, güvenli ve okunabilir kod yazmanın temelidir. Fonksiyonlar tekrar kullanılabilirliği sağlar, kapsam ise değişkenlerin sadece gerektiği yerde kullanılmasını garanti eder. HTML DOM ile entegrasyon sayesinde kişisel web siteleri, bloglar veya e-ticaret sitelerinde dinamik güncellemeler yapabilirsiniz. Fonksiyonlar backend ile iletişimde, örneğin sipariş hesaplama veya veri gönderme gibi durumlarda kritik rol oynar.
İleri seviyede öğrenim için arrow functions, closures, higher-order functions, event handling ve asynchronous programming konuları önerilir. Düzenli pratik yapmak, gerçek projeler geliştirmek ve küçük uygulamalar oluşturmak bilgiyi pekiştirir ve karmaşık projelere hazırlık sağlar.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu konudaki anlayışınızı pratik sorularla test edin.

4
Sorular
🎯
70%
Geçmek İçin
♾️
Süre
🔄
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek