Ders İçeriği
Giriş
Programlamada sıklıkla aynı işlemi tekrar tekrar yapmamız gerekir. Örneğin, bir dizideki tüm elemanları ekrana yazdırmak, 1'den 100'e kadar olan sayıları toplamak veya bir web sayfasındaki tüm bağlantıları kontrol etmek gibi. Bu tür tekrarlayan işlemleri her seferinde ayrı ayrı yazmak yerine, döngüler kullanarak daha verimli ve okunabilir kod yazabiliriz.
Döngüler, belirli bir koşul sağlandığı sürece bir kod bloğunu tekrar tekrar çalıştırmamızı sağlayan yapılardır. JavaScript'te üç temel döngü türü vardır: for
, while
ve do-while
. Ayrıca, diziler ve nesneler üzerinde döngü yapmak için özel döngü türleri de bulunmaktadır.
Bu derste, JavaScript'teki döngü türlerini, nasıl kullanıldıklarını ve hangi durumlarda hangi döngü türünün daha uygun olduğunu öğreneceğiz. Ayrıca, döngüleri kontrol etmek için kullanılan break
ve continue
ifadelerini de inceleyeceğiz.
for Döngüsü
for
döngüsü, JavaScript'te en yaygın kullanılan döngü türüdür. Belirli bir sayıda tekrar yapmanız gerektiğinde özellikle kullanışlıdır. for
döngüsü, üç bölümden oluşur: başlangıç, koşul ve artırma/azaltma.
Temel sözdizimi şu şekildedir:
- Başlangıç: Döngü başlamadan önce bir kez çalıştırılır. Genellikle bir sayaç değişkeni tanımlamak için kullanılır.
- Koşul: Her tekrardan önce değerlendirilir. Eğer
true
ise döngü devam eder,false
ise döngü sona erer. - Artırma/Azaltma: Her tekrarın sonunda çalıştırılır. Genellikle sayaç değişkenini artırmak veya azaltmak için kullanılır.
Not: for
döngüsünün üç bölümü de isteğe bağlıdır. Örneğin, başlangıç bölümünü döngüden önce tanımlayabilir, koşul bölümünü döngü içinde kontrol edebilir ve artırma/azaltma bölümünü döngü içinde yapabilirsiniz. Ancak, noktalı virgülleri (;
) her zaman koymalısınız.
Diziler Üzerinde for Döngüsü
for
döngüsü, diziler üzerinde döngü yapmak için sıklıkla kullanılır. Dizinin her elemanına erişmek için dizinin uzunluğunu (length
) ve indeks numaralarını kullanabiliriz.
while Döngüsü
while
döngüsü, belirli bir koşul true
olduğu sürece bir kod bloğunu tekrar tekrar çalıştırır. for
döngüsünden farklı olarak, while
döngüsü sadece bir koşul içerir ve tekrar sayısı önceden bilinmediğinde kullanışlıdır.
Temel sözdizimi şu şekildedir:
Uyarı: while
döngüsünde, koşulun bir noktada false
olacağından emin olmalısınız. Aksi takdirde, döngü sonsuza kadar devam eder (sonsuz döngü) ve programınız donabilir veya çökebilir.
do-while Döngüsü
do-while
döngüsü, while
döngüsüne benzer, ancak koşul döngünün sonunda kontrol edilir. Bu, kod bloğunun en az bir kez çalıştırılmasını garanti eder, çünkü koşul ilk çalıştırmadan sonra kontrol edilir.
Temel sözdizimi şu şekildedir:
İpucu: do-while
döngüsü, kullanıcıdan girdi almak ve geçerli bir girdi alana kadar tekrar istemek gibi durumlarda kullanışlıdır. Çünkü en az bir kez kullanıcıdan girdi istemeniz gerekir.
for...in Döngüsü
for...in
döngüsü, bir nesnenin özellikleri (property) üzerinde döngü yapmak için kullanılır. Nesnenin her özelliği için döngü bir kez çalıştırılır.
Temel sözdizimi şu şekildedir:
Uyarı: for...in
döngüsü, diziler üzerinde de kullanılabilir, ancak bu önerilmez. Çünkü for...in
döngüsü, dizinin indekslerini (ve diziye eklenen diğer özellikleri) döndürür, elemanlarını değil. Diziler üzerinde döngü yapmak için for
döngüsü veya for...of
döngüsü daha uygundur.
for...of Döngüsü
for...of
döngüsü, ES6 (ECMAScript 2015) ile tanıtılan ve yinelenebilir (iterable) nesneler üzerinde döngü yapmak için kullanılan bir döngü türüdür. Diziler, string'ler, Map, Set gibi yinelenebilir nesneler üzerinde kullanılabilir.
Temel sözdizimi şu şekildedir:
İpucu: for...of
döngüsü, diziler üzerinde döngü yapmak için for
döngüsüne göre daha temiz ve okunabilir bir alternatiftir. Ancak, indeks numaralarına ihtiyacınız varsa, geleneksel for
döngüsünü veya forEach
metodunu kullanmanız daha uygun olabilir.
break ve continue İfadeleri
Döngüleri kontrol etmek için break
ve continue
ifadelerini kullanabilirsiniz.
break İfadesi
break
ifadesi, bir döngüyü tamamen sonlandırır ve döngüden sonraki koda geçer. Genellikle belirli bir koşul sağlandığında döngüden çıkmak için kullanılır.
continue İfadesi
continue
ifadesi, döngünün mevcut tekrarını atlar ve bir sonraki tekrara geçer. Genellikle belirli bir koşul sağlandığında döngünün geri kalanını atlamak için kullanılır.
İç İçe Döngüler
Bir döngü içinde başka bir döngü kullanabilirsiniz. Buna "iç içe döngüler" denir. İç içe döngüler, çok boyutlu veri yapıları (örneğin, iki boyutlu diziler) üzerinde işlem yapmak için kullanışlıdır.
Uyarı: İç içe döngüler, özellikle büyük veri setleri üzerinde çalışırken performans sorunlarına neden olabilir. Çünkü dış döngünün her tekrarı için iç döngü tamamen çalıştırılır. Bu nedenle, mümkünse iç içe döngülerden kaçınmak veya daha verimli alternatifler kullanmak iyi bir pratiktir.
forEach, map ve filter Metodları
JavaScript'te diziler üzerinde döngü yapmak için forEach
, map
ve filter
gibi dizi metodları da kullanılabilir. Bu metodlar, geleneksel döngülere göre daha fonksiyonel ve okunabilir bir yaklaşım sunar.
forEach Metodu
forEach
metodu, bir dizinin her elemanı için belirtilen bir fonksiyonu çalıştırır. Bu metod, dizinin her elemanı için bir kez çalıştırılır ve elemanın değerini, indeksini ve diziyi parametre olarak alabilir.
map Metodu
map
metodu, bir dizinin her elemanı için belirtilen bir fonksiyonu çalıştırır ve sonuçlardan yeni bir dizi oluşturur. Orijinal dizi değiştirilmez.
filter Metodu
filter
metodu, bir dizinin elemanlarını belirtilen bir koşula göre filtreler ve koşulu sağlayan elemanlardan yeni bir dizi oluşturur. Orijinal dizi değiştirilmez.
İpucu: forEach
, map
ve filter
gibi dizi metodları, geleneksel döngülere göre daha fonksiyonel ve okunabilir bir yaklaşım sunar. Özellikle, veri dönüşümleri ve filtreleme işlemleri için bu metodları kullanmak, kodunuzu daha temiz ve anlaşılır hale getirebilir.
Alıştırmalar
- 1'den 100'e kadar olan sayıların toplamını hesaplayan bir
for
döngüsü yazın. - Bir dizideki en büyük sayıyı bulan bir
for
veyafor...of
döngüsü yazın. - Bir string'in palindrom olup olmadığını kontrol eden bir fonksiyon yazın (palindrom, tersten okunduğunda da aynı olan kelime veya cümledir, örneğin "kayak" veya "ey edip adanada pide ye").
- İç içe
for
döngüleri kullanarak aşağıdaki deseni oluşturan bir program yazın:* ** *** **** *****
- Bir dizideki tek sayıları filtreleyen ve bu sayıların karelerini içeren yeni bir dizi oluşturan bir program yazın.
filter
vemap
metodlarını kullanın.
Bu derste JavaScript'teki döngü türlerini öğrendik:
- for Döngüsü: Belirli bir sayıda tekrar yapmak için kullanılır. Başlangıç, koşul ve artırma/azaltma bölümlerinden oluşur.
- while Döngüsü: Belirli bir koşul sağlandığı sürece bir kod bloğunu tekrar tekrar çalıştırır.
- do-while Döngüsü:
while
döngüsüne benzer, ancak kod bloğu en az bir kez çalıştırılır. - for...in Döngüsü: Bir nesnenin özellikleri üzerinde döngü yapmak için kullanılır.
- for...of Döngüsü: Yinelenebilir nesneler (diziler, string'ler vb.) üzerinde döngü yapmak için kullanılır.
- break ve continue İfadeleri: Döngüleri kontrol etmek için kullanılır.
break
döngüyü tamamen sonlandırır,continue
ise mevcut tekrarı atlar. - İç İçe Döngüler: Bir döngü içinde başka bir döngü kullanılabilir.
- forEach, map ve filter Metodları: Diziler üzerinde döngü yapmak için kullanılan fonksiyonel yaklaşımlar.
Döngüler, programlamada tekrarlayan işlemleri gerçekleştirmek için temel yapı taşlarıdır. Farklı döngü türlerini anlamak ve hangi durumlarda hangi döngü türünün daha uygun olduğunu bilmek, verimli ve okunabilir kod yazmanıza yardımcı olacaktır.
Bir sonraki derste, JavaScript'te fonksiyonları ve parametreleri öğreneceğiz.