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
trueise döngü devam eder,falseise 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
fordöngüsü yazın. - Bir dizideki en büyük sayıyı bulan bir
forveyafor...ofdö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
fordö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.
filtervemapmetodları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ü:
whiledö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.
breakdöngüyü tamamen sonlandırır,continueise 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.