JavaScript Döngüleri (for, for...in, for...of) 🔁
Bu rehberde, JavaScript’te tekrarlayan işlemleri otomatikleştirmenizi sağlayan döngüleri inceleyeceğiz.
Klasik for döngüsünden başlayarak, nesnelerle for...in ve dizilerle for...of kullanımını adım adım öğreneceksiniz.
🎯 Bu Rehberde Öğrenecekleriniz
fordöngüsünün yapısı ve mantığı- Döngü ifadeleri: başlangıç, koşul, son ifade
for...inile nesne özelliklerini listelemefor...ofile diziler ve stringler üzerinde dönme- Sık yapılan hatalar ve doğru uygulamalar
1️⃣ for Döngüsü Temelleri
for döngüsü, belirli bir koşul sağlandığı sürece kod bloğunu tekrarlar.
🧩 Sözdizimi
for (başlangıç; koşul; son_ifade) {
// Tekrarlanacak kod
}
Bileşen Görev Başlangıç (Initialization) Sayaç değişkenini başlatır. (let i = 0) Koşul (Condition) Döngünün çalışıp çalışmayacağını kontrol eder. (i < 4) Son İfade (Final Expression) Her turda sayaç değerini günceller. (i++)
🧠 Basit Bir Örnek
for (let i = 0; i < 4; i++) {
console.log(i);
}
Çıktı:
0
1
2
3
i 0’dan başlar, 4’ten küçük olduğu sürece artar ve her adımda ekrana yazılır.
2️⃣ Opsiyonel İfadeler
Tüm ifadeler zorunlu değildir; JavaScript esneklik sağlar.
Başlangıç Dışarıda
let i = 0;
for (; i < 4; i++) console.log(i);
Koşulsuz Döngü (break ile)
Kodu kopyala
let i = 0;
for (; ; i++) {
if (i > 3) break;
console.log(i);
}
Tüm İfadeleri Dahil Etmeden
let i = 0;
for (; ;) {
if (i > 3) break;
console.log(i);
i++;
}
Eğer break eklemezsen döngü sonsuza kadar devam eder — tarayıcı donar, kod yanar.🔥
3️⃣ Dizilerle Döngü Kullanımı
let baliklar = ["kalkan", "somon", "turna"];
for (let i = 0; i < baliklar.length; i++) {
console.log(baliklar[i]);
}
Çıktı:
Kodu kopyala
kalkan
somon
turna
baliklar.length dizinin uzunluğunu dinamik olarak alır, böylece döngü eleman sayısına göre otomatik uyum sağlar.
4️⃣ for...in Döngüsü (Nesne Özellikleri)
Nesnelerde anahtarları (property names) dolaşmak için kullanılır.
const gemi = {
isim: "Poseidon",
tip: "Yolcu",
uzunluk: 150
};
for (let ozellik in gemi) {
console.log(`${ozellik}: ${gemi[ozellik]}`);
}
Çıktı:
Kodu kopyala
isim: Poseidon
tip: Yolcu
uzunluk: 150
for...in sadece anahtarları verir. Değere ulaşmak için nesne[anahtar] kullanılır.
5️⃣ for...of Döngüsü (Dizi ve Stringler)
Diziler, dizeler (string), Map ve Set gibi yapılar üzerinde çalışır. for...in anahtarları, for...of ise değerleri döndürür.
let meyveler = ["elma", "armut", "kiraz"];
for (let meyve of meyveler) {
console.log(meyve);
}
Çıktı:
elma
armut
kiraz
İndeks + Değeri Aynı Anda Almak
for (let [index, meyve] of meyveler.entries()) {
console.log(`İndeks ${index}: ${meyve}`);
}
Çıktı:
İndeks 0: elma
İndeks 1: armut
İndeks 2: kiraz
String Üzerinde Dönmek
let kelime = "rabisu";
for (let karakter of kelime) console.log(karakter);
Çıktı:
r
a
b
i
s
u
💬 Sıkça Sorulan Sorular (SSS)
- for...in ile for...of farkı nedir?
for...in nesne anahtarlarını döndürür. for...of diziler, stringler gibi iterable yapılarda doğrudan değerleri döndürür.
- var yerine neden let kullanılmalı?
let blok kapsamına sahiptir ve döngü dışına taşmaz. var fonksiyon kapsamlıdır, bu yüzden hataya açık olur.
- Sonsuz döngü nedir ve nasıl engellenir?
Koşul her zaman true olursa döngü sonsuza kadar sürer. Her döngüde break veya koşul güncellemesi olmalıdır.
- Ne zaman while yerine for kullanılır?
Tekrarlama sayısı belliyse for, koşul bazlı işlemlerde (örneğin dosya sonuna kadar) while tercih edilir.
- Döngü performansını nasıl artırabilirim?
Uzun dizilerde for...of genellikle daha hızlı ve okunaklıdır. Ayrıca gereksiz console.log() çağrılarından kaçınmak gerekir.
🏁 Sonuç
JavaScript döngüleri (for, for...in, for...of) kod tekrarını ortadan kaldırır, veri üzerinde kolayca gezinmeyi sağlar ve performansı artırır.
Doğru yapıyı doğru yerde kullanarak kodunu okunabilir, modern ve hızlı hale getirebilirsin.
🚀 Bu teknikleri Rabisu Bulut Platformu üzerinde dene, JavaScript projelerini güçlü altyapıda test et ve yayına al!