17 Nisan 2022

Döngüler: while ve for

Çoğu zaman aynı bir sıra ile tekrar yapma ihtiyacı duyulabilirsiniz.

Örneğin bir listede bulunan ürünlerin sıra ile çıktısını almak. Veya aynı kodu 1-10’a kadar olan sayılar için çalıştırmak.

Döngü aynı kod parçacığının birden fazla defa çalıştırılmasına denir.

“while” döngüsü

while döngüsü aşağıdaki gibi bir yazıma sahiptir:

while (koşul) {
  // kod
  // veya döngünün gövdesi
}

koşul doğru iken(while), döngü gövdesinde bulunan kod çalıştırılır.

Örneğin, aşağıdaki kod i < 3 iken çalışır.

let i = 0;
while (i < 3) { // önce 0, sonra 1, sonra 2
  alert( i );
  i++;
}

Döngünün gövdesinde bulunan kodun her çalışmasına tekerrür(iteration) denir. Yukarıdaki örnekte gövde 3 defa tekerrür etmiştir.

Eğer i++ gibi bir kod olmasaydı, teoride kod sonsuza kadar devam ederdi. Pratikte ise tarayıcınız bu kodun uzun süre çalışmasını engeller, sunucu tabanlı JavaScript yazdığınızda ise bu işlem durdurulur.

Sadece karşılaştırma değil, bir ifade veya değişken koşul olabilir. While döngüsü tarafından alınan tüm ifadeler boolean’a dönüştürülür.

Örneğin, while(i != 0 ) while(i)'de olabilir.

let i = 3;
while (i) {  // i 0 olduğunda koşul `yanlış` olur ve döngü biter.
  alert( i );
  i--;
}
Tek satır gövde varsa süslü paranteze gerek kalmaz.

Eğer döngü gövdesi tek satır ise süslü parantezi yazmayabilirsiniz. {..}:

let i = 3;
while (i) alert(i--);

“do…while” döngüsü

do..while döngüsü kullanarak koşul kontrolünü sonda yapmak mümkündür.

do {
  // döngü gövdesi
} while (condition);

Döngü önce gövdeyi çalıştırır, sonra koşul kontrolü yapar ve eğer doğruysa tekrar döngü gövdesini çalıştırır.

Örneğin:

let i = 0;
do {
  alert( i );
  i++;
} while (i < 3);

Bu şekilde döngü yazımı çok nadir olarak kullanılır. Kullanılmasının en önemli amacı en azından bir defa ne olursa olsun gövdenin çalıştırılma istenmesidir. Genelde while(..){} şekli tercih edilir.

“for” döngüsü

for döngüsü en fazla kullanılan döngüdür.

Aşağıdaki şekilde kullanıma sahiptir: