Javascript Döngüler, bir işlemi birden fazla kez tekrarlamak istediğimizde kullanılan programlama yapılarıdır. JavaScript’te döngüler, belirli bir koşul sağlandığı sürece kod bloklarının çalışmasını sağlar. Bu da kod tekrarını azaltır ve programların daha verimli olmasını sağlar.
JavaScript’teki temel döngüler:
- for Döngüsü
- while Döngüsü
- do…while Döngüsü
- for…in Döngüsü
- for…of Döngüsü
Her bir döngüyü açıklayarak ve örneklerle detaylandıralım.
1. for Döngüsü
for döngüsü, belirli bir sayıda işlem yapmak istediğimizde kullanılır.
Syntax yapısı:
1 2 3 | for (başlatma; koşul; artırma/azaltma) { // Bu kod bloğu her döngüde çalışır. } |
Örnek:
1 2 3 | for (let i = 1; i <= 5; i++) { console.log("Sayı: " + i); } |
for (let i = 1; i <= 5; i++) {– Bu, for döngüsünün başlangıç satırıdır. Üç ana kısmı vardır:let i = 1;– Döngünün başlangıç değeri.ideğişkeni 1 olarak başlatılır.i <= 5;– Döngünün çalışma koşulu.i5’e eşit veya küçük olduğu sürece döngü çalışmaya devam eder.i++– Döngü sonunda her tekrardaideğeri 1 artırılır.
{ console.log("Sayı: " + i); }– Bu, döngü bloğudur ve her döngü tekrarında çalıştırılacak kodu içerir:console.log("Sayı: " + i);–ideğişkeninin değerini konsola yazdırır."Sayı: "metni ileideğişkeninin değeri birleştirilir ve ekrana yazdırılır.
Kod Çıktısı:
1 2 3 4 5 | Sayı: 1 Sayı: 2 Sayı: 3 Sayı: 4 Sayı: 5 |
2. while Döngüsü
while döngüsü, koşul doğru olduğu sürece çalışır. Döngünün kaç kez çalışacağını önceden bilmediğimiz durumlarda kullanılır.
Syntax yapısı:
1 2 3 | while (koşul) { // Koşul doğruysa bu kod çalışır. } |
Örnek:
1 2 3 4 5 6 | let i = 1; while (i <= 5) { console.log("Sayı: " + i); i++; } |
let i = 1;– Bu satır,ideğişkenine başlangıç değeri olarak 1 atar.while (i <= 5) {– Bu,whiledöngüsünün başlangıç satırıdır. Koşul kontrol edilir:i5’e eşit veya küçük olduğu sürece döngü çalışmaya devam eder.console.log("Sayı: " + i);– Döngü koşulu doğru olduğu sürece her tekrarda bu kod çalışır veideğişkeninin değerini konsola yazdırır.i++;– Bu satır,ideğişkeninin değerini her döngü tekrarında 1 artırır.
Kod Çıktısı:
1 2 3 4 5 | Sayı: 1 Sayı: 2 Sayı: 3 Sayı: 4 Sayı: 5 |
3. do…while Döngüsü
do...while döngüsü, kod bloğunu en az bir kez çalıştırır. Daha sonra koşul kontrol edilir.
Syntax yapısı:
1 2 3 | do { // Bu kod bloğu en az bir kez çalışır. } while (koşul); |
Örnek:
1 2 3 4 5 6 | let i = 6; do { console.log("Sayı: " + i); i++; } while (i <= 5); |
let i = 6;– Bu satır,ideğişkenine başlangıç değeri olarak 6 atar.do { ... } while (i <= 5);– Budo...whiledöngüsünün yapılandırılmasıdır.dobloğu içindeki kod en az bir kez çalıştırılır ve ardındanwhilekoşulu kontrol edilir:console.log("Sayı: " + i);– Döngü içindeki kod,ideğişkeninin değerini konsola yazdırır.i++;– Bu satır,ideğişkeninin değerini 1 artırır.
Kod çıktısı:
1 | Sayı: 6 |
4. for…in Döngüsü
for...in, bir nesnenin özelliklerini veya bir dizinin indekslerini döngüyle almak için kullanılır.
Syntax yapısı:
1 2 3 | for (değer in nesne) { // Bu kod nesnedeki her özellik için çalışır. } |
Örnek:
1 2 3 4 5 | let kişi = { isim: "Oktay", yaş: 25, şehir: "Denizli" }; for (let özellik in kişi) { console.log(özellik + ": " + kişi[özellik]); } |
let kişi = { ... };– Bu satır,kişiadında bir nesne oluşturur ve bu nesneninisim,yaşveşehirözelliklerine değerler atar:isim: "Oktay"yaş: 25şehir: "Denizli"
for (let özellik in kişi) { ... }– Bu,for...indöngüsünün başlangıç satırıdır. Bu döngü,kişinesnesinin her bir özelliği üzerinde iterasyon yapar:özellikdeğişkeni, her döngü tekrarındakişinesnesinin bir özelliğini temsil eder (örneğin, “isim”, “yaş” veya “şehir”).
console.log(özellik + ": " + kişi[özellik]);– Bu satır, her özellik adı ve ilgili değeri konsola yazdırır:özellik: Döngü tarafından döndürülen özellik adı.kişi[özellik]: Bu özellik adınınkişinesnesindeki değerini döndürür.
Kod çıktısı:
1 2 3 | isim: Oktay yaş: 25 şehir: Denizli |
5. for…of Döngüsü
for...of, bir dizinin (array) veya iterable bir yapının her elemanını döngüyle almak için
Syntax yapısı:
1 2 3 | for (değer of iterable) { // Bu kod iterable'deki her eleman için çalışır. } |
Örnek:
1 2 3 4 5 | let renkler = ["Beyaz", "Mavi", "Yeşil"]; for (let renk of renkler) { console.log(renk); } |
let renkler = ["Beyaz", "Mavi", "Yeşil"];– Bu satır,renkleradında bir dizi oluşturur ve bu dizinin elemanları “Beyaz”, “Mavi” ve “Yeşil” olarak tanımlanır.for (let renk of renkler) { ... }– Bu,for...ofdöngüsünün başlangıç satırıdır. Bu döngü,renklerdizisinin her bir elemanını sırayla iterasyon yapar:renkdeğişkeni, her döngü tekrarındarenklerdizisinin bir elemanını temsil eder (örneğin, “Beyaz”, “Mavi” veya “Yeşil”).
console.log(renk);– Bu satır, her döngü tekrarındarenkdeğişkeninin değerini konsola yazdırır.
Kod çıktısı:
1 2 3 | Beyaz Mavi Yeşil |



JS ile kod yazarken, bazen insan kendini bir döngüde kaybediyor. Saatlerce aynı kod bloğu üzerinde çalışmak, dönüp dolaşıp aynı noktaya gelmek gerçekten yorucu olabiliyor. Tıpkı Mevlana gibi dönüyor insan, kodun içinde kayboluyor. Ama bu döngülerden çıkmak, çözümü bulmak da büyük bir tatmin sağlıyor. Her dönüş, yeni bir öğrenme fırsatı sunuyor. Sonunda doğru kodu bulduğumda, tüm o emeğin karşılığını almış gibi hissediyorum. Bu süreç, yazılım geliştirmenin en zorlu ama aynı zamanda en keyifli yanlarından biri.
Kısacası, dönmek emektir, döneceksin Mevlana gibi…..