🔁 JavaScript For Döngüsü

JavaScript Rehberi

Tekrar Edilebilirliğin Süper Kahramanı 🦸‍♂️

(“Aynı kodu 50 kere yazan yazılımcı mı olur?”)

Merhaba sevgili console.log savaşçısı 👋
Bugün JavaScript evreninin en çalışkan, en fedakâr ama bir o kadar da yanlış kullanıldığında bela çıkaran yapısını konuşacağız: for döngüsü.

Eğer:

  • “Bu kodu 100 kere çalıştırmam lazım”
  • “Bu dizide 300 eleman var”
  • “Bir şeyleri sırayla kontrol edeceğim”

diyorsan…
🎉 For döngüsü senin kader ortağın.


🤯 Döngü Nedir? Neden Hayat Kurtarır?

Düşün:
Bir öğretmensin ve sınıftaki 30 öğrencinin adını ekrana yazdıracaksın.

❌ Kötü senaryo:

console.log("Ali");
console.log("Ayşe");
console.log("Mehmet");
// ...

😵 Hem sıkıcı
😵 Hem hata yapmaya açık
😵 Hem “ben niye yazılımcı oldum” dedirtir

✅ Akıllı senaryo:

for (...) {
  // tekrar eden işler
}

🎯 Döngü = tekrar eden işi tek sefer yazmak


🧬 For Döngüsünün DNA’sı (Çok Önemli!)

For döngüsü 3 temel parçadan oluşur. Bunları anlamazsan döngü seni döndürür 😄

for (başlangıç; koşul; değişim) {
  // çalışacak kod
}

Şimdi bunu Netflix dizisi gibi bölüm bölüm inceleyelim 👇


1️⃣ Başlangıç (Sayaç Sahneye Çıkar 🎬)

let i = 0;

Bu ne?

  • Döngünün sayaçı
  • Genelde i kullanılır (index)
  • Döngü başlarken bir kere çalışır

📌 Neden 0?
Çünkü JavaScript dizileri 0’dan başlar
(1’den başlasaydı hayat daha kolay olurdu ama… kader 😅)


2️⃣ Koşul (Devam Edelim mi? 🤔)

i < 5

Bu cümle şu demek:

“i, 5’ten küçük olduğu sürece çalışmaya devam et”

⚠️ Koşul false olursa döngü biter
⚠️ True kaldığı sürece döngü çalışır

📌 Yanlış koşul = ya hiç çalışmaz ya sonsuza kadar çalışır 😱


3️⃣ Değişim (İlerlemezsen Takılı Kalırsın 🐢)

i++

Bu satır:

  • Her turdan sonra çalışır
  • i’yi 1 artırır

Alternatifler:

i += 2; // ikişer ikişer
i--;    // geri sayım

📌 Bu satırı unutursan:
🎯 Sonsuz döngü
🎯 Fanlar bağırır
🎯 Sen “niye dondu bu” dersin


🧪 Tam Klasik Örnek (Efsaneler Efsanesi)

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

Bu döngü nasıl çalışır?

  1. i = 0 → yazdır → artır
  2. i = 1 → yazdır → artır
  3. i = 2 → yazdır → artır
  4. i = 3 → yazdır → artır
  5. i = 4 → yazdır → artır
  6. i = 5 → koşul false → dur 🛑

🖥️ Çıktı:

0
1
2
3
4


🔢 1’den 10’a Sayalım (İnsan Gibi)

for (let i = 1; i <= 10; i++) {
  console.log(i);
}

📌 < yerine <= kullanmamızın sebebi:

“10’u da dahil et”

⚠️ Burada en çok yapılan hata:

i &lt; 10 // 10 yazılmaz


📦 Diziler + For Döngüsü = Aşk 💖

İşte for döngüsünün asıl parladığı yer

const sehirler = ["İstanbul", "Ankara", "İzmir", "Bursa"];

Şimdi tek tek yazdıralım:

for (let i = 0; i &lt; sehirler.length; i++) {
  console.log(sehirler[i]);
}

Burada büyü var 🪄

  • sehirler.length → dizi uzunluğu
  • Dizi büyüse bile kod bozulmaz
  • Her eleman sırayla gelir

📌 Altın ipucu:
i < 4 yazma
i < length yaz
Çünkü dizi yarın büyür, sen unutursun 😄


🎯 Pratik Senaryo: Not Ortalaması

const notlar = [70, 85, 90, 60];
let toplam = 0;

for (let i = 0; i &lt; notlar.length; i++) {
  toplam += notlar[i];
}

let ortalama = toplam / notlar.length;
console.log(ortalama);

Ne yaptık?

  • Tüm notları topladık
  • Eleman sayısına böldük
  • Gerçek hayatta sık kullanılan örnek 💡

🔄 Tersine Sayım (Havalı Mod 😎)

for (let i = 10; i >= 0; i--) {
  console.log(i);
}

🎬 Roket kalkışı:

10
9
8
...
0


🧨 Sonsuz Döngü Nedir? (Korku Filmi 🎥)

for (let i = 0; i &lt; 5;) {
  console.log(i);
}

😱 Ne eksik?
👉 i++

Sonuç:

  • i hiç değişmez
  • Koşul hep true
  • Döngü asla bitmez

📌 CTRL + C hayat kurtarır 😅


🧠 For Döngüsünde Profesyonel İpuçları

💡 Döngü içinde ağır işlemlerden kaçın
💡 length’i sabit değişkene almak performans kazandırır

const len = dizi.length;
for (let i = 0; i &lt; len; i++) {}

💡 Döngü içinde console.log debug içindir, production’da dikkat ⚠️


🆚 For mu, forEach mi?

  • for → kontrol sende
  • forEach → daha okunaklı
  • map → yeni dizi üretir

📌 Temel = for
📌 Modern kullanım = diğerleri


🧠 Dev Özet (Bunu Bil, Rahat Et)

✅ For döngüsü tekrar eden işler içindir
✅ 3 parça: başlangıç – koşul – değişim
✅ Dizilerle çok güçlüdür
✅ Yanlış yazılırsa can yakar 😄

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir