JavaScript Döngüler: Tüm Yönleriyle Detaylı Rehber

Tayyip Bölük Haziran 19, 2025 Javascript
JavaScript Döngüler: Tüm Yönleriyle Detaylı Rehber

JavaScript, modern web geliştirmede en çok tercih edilen programlama dillerinden biridir. Dinamik web sayfaları oluşturmak, kullanıcı etkileşimlerini yönetmek, verileri analiz etmek ve sunucu taraflı işlemleri gerçekleştirmek gibi çok çeşitli alanlarda kullanılabilir. JavaScript’in gücünü artıran en önemli yapılardan biri de döngülerdir. JavaScript döngüler, belirli bir işlemi birden fazla kez, farklı koşullarda veya bir dizi veri üzerinde gerçekleştirmemize olanak tanır.

Bu rehberde, JavaScript döngüler konusunu en temelden ileri düzeye kadar inceleyeceğiz. for, while, do...while gibi geleneksel döngülerin yanı sıra, forEach, map, filter, reduce gibi modern array metotlarını da detaylı örneklerle ele alacağız. Ayrıca break ve continue gibi döngü kontrol komutlarının ne işe yaradığını ve ne zaman kullanılması gerektiğini göstereceğiz. Yazının sonunda ise döngüleri bir arada kullandığımız pratik uygulamalara da yer vereceğiz.

Neden JavaScript Döngüler Önemlidir?

Programlamada sıkça karşımıza çıkan ihtiyaçlardan biri, aynı işlemi birden fazla kez yapmaktır. Bu durum özellikle listelerle, dizilerle, objelerle ve veritabanı sorguları ile çalışırken çok yaygındır. Örneğin:

  • Bir kullanıcı listesini ekranda sıralamak,
  • Belirli kriterlere göre veri süzmek,
  • Tüm ürünlerin fiyatlarını güncellemek,
  • Öğrencilerin not ortalamasını hesaplamak.

Eğer döngüler olmasaydı, bu işlemleri tekrar tekrar elle yazmamız gerekirdi. Bu da hem zaman kaybına hem de kodun okunabilirliğinin ve sürdürülebilirliğinin düşmesine neden olurdu. JavaScript döngü yapıları bu sorunu ortadan kaldırır.

for Döngüsü

En klasik döngü yapısıdır. Genellikle, belirli sayıda çalıştırılacak işlemler için idealdir.

Söz Dizimi:

for (başlangıç; koşul; artış) {
    // kod bloğu
}

Temel Örnek:

for (let i = 0; i < 5; i++) {
    console.log("Sayı: " + i);
}

Gerçek Hayat Uygulaması:

Bir alışveriş sepetindeki ürünlerin toplam fiyatını bulalım:

let sepet = [10, 25, 35];
let toplam = 0;
for (let i = 0; i < sepet.length; i++) {
    toplam += sepet[i];
}
console.log("Toplam Fiyat: " + toplam);

while Döngüsü

while, koşul doğru olduğu sürece döngü bloğunu çalıştırır. Kaç kere döneceği başlangıçta net olmayan işlemlerde tercih edilir.

Örnek:

let i = 0;
while (i < 3) {
    console.log("Adım: " + i);
    i++;
}

Kullanım Senaryosu:

Bir kullanıcının tahmin oyunu yapmasını sağlayan kod:

let dogruSayi = 7;
let tahmin;
while (tahmin !== dogruSayi) {
    tahmin = parseInt(prompt("Bir sayı tahmin edin:"));
    if (tahmin === dogruSayi) alert("Tebrikler!");
}

do...while Döngüsü

do...while, döngüyü en az bir kez çalıştırmak istediğiniz durumlarda tercih edilir.

Örnek:

let sifre;
do {
    sifre = prompt("Lütfen şifrenizi girin:");
} while (sifre !== "1234");

forEach() Metodu

Diziler üzerinde işlem yapmanın modern yollarından biridir. Her eleman için ayrı ayrı işlem yapar.

Örnek:

let ogrenciler = ["Ali", "Zeynep", "Mehmet"];
ogrenciler.forEach(function(isim) {
    console.log("Öğrenci: " + isim);
});

Arrow function ile daha sade:

ogrenciler.forEach(isim => console.log(isim));

map() Metodu

map, her eleman üzerinde işlem yaparak yeni bir dizi döner. Orijinal diziyi değiştirmez.

Örnek:

let fiyatlar = [100, 200, 300];
let kdvliFiyatlar = fiyatlar.map(fiyat => fiyat * 1.2);
console.log(kdvliFiyatlar); // [120, 240, 360]

filter() Metodu

filter, dizideki elemanlardan belirli bir şartı sağlayanları seçerek yeni bir dizi oluşturur.

Örnek:

let notlar = [45, 80, 90, 60, 30];
let gecenler = notlar.filter(not => not >= 50);
console.log(gecenler); // [80, 90, 60]

reduce() Metodu

reduce, dizideki tüm elemanları tek bir değere indirgemek için kullanılır. Örneğin toplam hesaplamak için birebirdir.

Örnek:

let gelirler = [2000, 3000, 4000];
let toplamGelir = gelirler.reduce((toplam, gelir) => toplam + gelir, 0);
console.log("Toplam Gelir: " + toplamGelir);

break ve continue Kullanımı

break:

Bir döngü içerisindeki işlemi belirli bir koşulda durdurmak için kullanılır.

for (let i = 0; i < 10; i++) {
    if (i === 4) break;
    console.log(i);
}

continue:

Belirli koşulda döngüde o adımdaki işlemi atlayıp bir sonraki adıma geçmek için kullanılır.

for (let i = 0; i < 5; i++) {
    if (i === 2) continue;
    console.log(i);
}

Uygulamalı Örnek: Kullanıcı Sipariş Raporu Oluşturma

const siparisler = [
  {
    kullanici: "Ali Yılmaz",
    urunler: [
      { ad: "Laptop", fiyat: 15000 },
      { ad: "Mouse", fiyat: 300 }
    ]
  },
  {
    kullanici: "Zeynep Demir",
    urunler: [
      { ad: "Telefon", fiyat: 12000 },
      { ad: "Kılıf", fiyat: 150 },
      { ad: "Ekran Koruyucu", fiyat: 100 }
    ]
  },
  {
    kullanici: "Mehmet Can",
    urunler: [] // Henüz sipariş yok
  }
];

// Her kullanıcı için sipariş özeti çıkaran döngü:
siparisler.forEach(siparis => {
  console.log(`\nKullanıcı: ${siparis.kullanici}`);
  
  if (siparis.urunler.length === 0) {
    console.log("Sipariş bulunmamaktadır.");
    return;
  }

  let toplam = 0;

  siparis.urunler.forEach((urun, index) => {
    console.log(`${index + 1}. Ürün: ${urun.ad} - ${urun.fiyat} TL`);
    toplam += urun.fiyat;
  });

  console.log(`Toplam Sipariş Tutarı: ${toplam} TL`);

  if (toplam > 10000) {
    console.log("Not: Bu kullanıcı büyük müşteri kategorisine giriyor.");
  }
});

Sonuç ve Öneriler

JavaScript döngüler, hem temel programlama mantığını kavramak hem de gerçek projelerde etkili ve okunabilir kodlar yazmak için vazgeçilmezdir. Klasik döngüler ile algoritma temeli oluşturabilir, modern array metotlarıyla daha fonksiyonel ve sade kod yazabilirsiniz.

Bu yazıda öğrendikleriniz sayesinde artık JavaScript ile döngüleri çok daha etkili kullanabilir, ister küçük bir uygulamada ister büyük bir projede bu yapıların avantajlarından faydalanabilirsiniz. Daha fazlası için teknokod.net bakabilirsin

  1. JavaScript’te kaç çeşit döngü vardır?

    JavaScript’te temel olarak 5 yaygın döngü türü vardır:
    for
    while
    do...while
    for...in (nesneler için)
    for...of (iterable yapılar için) Ayrıca diziler üzerinde işlem yapmayı kolaylaştıran forEach, map, filter, reduce gibi metotlar da döngü mantığıyla çalışır.

  2. for döngüsü ile while döngüsü arasındaki fark nedir?

    for döngüsü genellikle kaç defa çalışacağı bilinen durumlar için idealdir. while döngüsü ise koşul sağlandığı sürece çalışır ve genellikle belirsiz sayıda tekrar eden işlemlerde kullanılır.

  3. forEach ile map arasındaki fark nedir?

    Her ikisi de dizi elemanları üzerinde döner. Ancak:
    forEach sadece işlem yapar, dönüş değeri yoktur.
    map her eleman için işlem yapar ve yeni bir dizi döndürür.

  4. break ve continue ne işe yarar?

    break: Döngüyü tamamen sonlandırır.
    continue: O anki döngü turunu atlayıp bir sonraki adıma geçer.

  5. reduce() ne zaman kullanılır?

    reduce, tüm dizi elemanlarını birleştirerek tek bir sonuç elde etmek istediğinizde kullanılır. Örnek: Toplam bulma, ortalama alma, obje birleştirme.

  6. Döngü içerisinde return kullanabilir miyim?

    Eğer döngü bir fonksiyon içinde yer alıyorsa return kullanabilirsiniz. Aksi takdirde, return fonksiyondan çıkışı temsil eder ve döngüyü etkilemez.

  7. Döngüler performansı etkiler mi?

    Çok büyük veri kümelerinde gereksiz yere kullanılan iç içe döngüler performansı etkileyebilir. Bunun yerine uygun array metotları ve algoritma optimizasyonları kullanılmalıdır.

  8. Array metodları döngülerin yerini alabilir mi?

    Evet, çoğu durumda forEach, map, filter, reduce gibi metodlar klasik döngülerin yerini daha sade ve okunabilir şekilde alabilir. Ancak tüm durumlar için geçerli değildir.

  9. Hangi döngüyü ne zaman kullanmalıyım?

    for: Belirli aralıklarda dönen işlemler için.
    while: Koşul sağlandığı sürece çalışması gereken işlemler için.
    do...while: En az bir kez çalışması gereken durumlar için.
    forEach: Dizi üzerinde işlem yapmak için.
    map: Dizideki elemanları değiştirmek ve yeni bir dizi üretmek için.
    filter: Şartlara göre dizi elemanlarını ayıklamak için.
    reduce: Tüm dizi elemanlarını tek değere indirgemek için.

  10. Döngüler ile hata ayıklama nasıl yapılır?

    Döngü içinde console.log() kullanarak değişkenlerin değerlerini izleyebilir, döngünün kaç defa çalıştığını görebilirsiniz. Karmaşık yapılar için tarayıcı geliştirici araçlarındaki “Breakpoint” özelliğini de kullanabilirsiniz.

Kaynak patika.dev

Etiketler: javascript döngüler
Paylaş:
Tayyip Bölük

Merhaba! Ben Tayyip Bölük, yazılım geliştirme alanında uzmanlaşmış bir geliştiriciyim. Teknoloji ve yazılım dünyasına olan ilgim, beni bu blogu oluşturmaya yönlendirdi. Amacım, yazılım geliştirme sürecindeki deneyimlerimi, öğrendiklerimi ve sektördeki yenilikleri okuyucularımla paylaşmak. Yazılım geliştirme sürecindeki yenilikçi yaklaşımlar, uygulama geliştirme ipuçları ve teknoloji trendleri üzerine içerikler üretiyorum. Blogumda ayrıca kendi projelerimden ve sektördeki ilham verici hikayelerden de bahsediyorum. Bu blog, hem yazılım meraklıları hem de sektöre adım atmak isteyenler için bir bilgi ve ilham kaynağı olmayı hedefliyor.

0 Yorum

Henüz yorum yapılmamış. İlk yorumu siz yapabilirsiniz!

Yorum Yap

Bir Yorum Yazın

E-posta adresiniz paylaşılmayacak. Gerekli alanlar * ile işaretlenmiştir.