“Bilmiyoruz kaç kere dönecek… ama dönecek.” 🔁😎
JavaScript öğrenirken bazı yapılar vardır:
- İlk bakışta basit durur
- Sonra bir yerde tarayıcıyı kilitler
- Ve sana hayat dersi verir
İşte while döngüsü tam olarak budur.
while Döngüsü Mantığı: Kafada Oturtalım 🧠
while döngüsü şunu der:
“Koşul true olduğu sürece…
ben buradayım.
Koşul false olursa…
ben yokum.”
Genel Yapı
while (koşul) {
// tekrar tekrar çalışacak kod
}
📌 Önemli detay:
- Koşul önce kontrol edilir
- Sonra içerisi çalışır
- Koşul tekrar kontrol edilir
- Bu böyle gider…
En Basit Örnek (Ama En Öğretici Olan) 🔢
let sayac = 1;
while (sayac <= 5) {
console.log("Sayaç:", sayac);
sayac++;
}
Kodun Adım Adım Hikâyesi 📖
1️⃣ sayac = 1
“Ben başlıyorum.”
2️⃣ sayac <= 5
“Koşul doğru mu?” → EVET
3️⃣ console.log
“Ekrana yaz.”
4️⃣ sayac++
“Bir ilerle.”
5️⃣ Döngü başa sar 🔄
🧠 Hayati nokta:
sayac++olmazsa… geçmiş olsun 😅
Sonsuz Döngü (Tarayıcıyı Donma Noktasına Getiren Hata) 🧊💥
Şimdi gel, JavaScript dünyasının kara deliğine bakalım.
let sayac = 1;
while (sayac <= 5) {
console.log("Merhaba");
}
Burada Ne Yanlış?
sayachiç değişmiyor- Koşul hep true
- Döngü asla bitmiyor
🧨 Sonuç:
- CPU %100
- Fan sesi uçak motoru ✈️
- “Niye böyle oldu?” sorusu
📌 Kural:
while döngüsünde koşulu mutlaka değiştiren bir şey olmalı
while Ne Zaman Kullanılır? 🎯
for mu while mı?
| Senaryo | En Mantıklı Döngü |
|---|---|
| Kaç kez döneceği belli | for |
| Belli değil | while |
| Kullanıcıdan input bekleniyor | while |
| Bir şart gerçekleşene kadar | while |
🧠 Özetle:
Belirsizlik varsa, while vardır.
Gerçek Hayat Senaryosu: Kullanıcıdan Sayı Alma 🎮
let sayi = null;
while (sayi === null || isNaN(sayi)) {
sayi = Number(prompt("Lütfen bir sayı giriniz"));
}
console.log("Girilen sayı:", sayi);
Burada Ne Oluyor?
- Kullanıcı saçma bir şey yazarsa ❌
- İptale basarsa ❌
- Harf girerse ❌
➡️ Döngü devam eder
➡️ Doğru input gelince çıkar 🎉
📌 Pratik ipucu:
Form, prompt, input = while döngüsünün doğal yaşam alanı 🏕️
break: “Tamam yeter” Demenin Kod Karşılığı 🛑
let i = 1;
while (i <= 10) {
if (i === 5) {
break;
}
console.log(i);
i++;
}
Ne Yaptık?
- Döngü 1’den başladı
- 5’e gelince acil çıkış
- Geri kalanı umursamadı
📌 break:
Döngüyü tamamen bitirir
continue: “Bunu Atla, Devam Et” ⏭️
let i = 0;
while (i < 5) {
i++;
if (i === 3) {
continue;
}
console.log(i);
}
Çıktı:
1
2
4
5
📌 continue:
- Döngüyü bitirmez
- Sadece o turu pas geçer
while(true) Korkulacak Bir Şey mi? 😱
Hayır…
Doğru kullanılırsa harikadır.
while (true) {
let cevap = prompt("Çıkmak için q yaz");
if (cevap === "q") {
break;
}
}
🧠 Mantık:
- Sonsuz döngü başlat
- break ile kontrolü ele al
📌 Profesyoneller bunu çok kullanır
📌 Ama break yoksa FELAKET 😅
do...while: Önce Çalış, Sonra Kontrol Et 🔄
let sifre;
do {
sifre = prompt("Şifre gir");
} while (sifre !== "1234");
alert("Hoş geldin 😎");
Farkı Ne?
- Kod en az 1 kere çalışır
- Koşul sonra kontrol edilir
📌 Şifre, popup, kullanıcı etkileşimi = do...while
Mini Proje: Sayı Tahmin Oyunu 🎯🎲
let tahmin;
let tutulan = 7;
while (tahmin !== tutulan) {
tahmin = Number(prompt("Tahmin et"));
if (tahmin > tutulan) {
alert("Biraz düş");
} else if (tahmin < tutulan) {
alert("Biraz çık");
}
}
alert("Bildin! 🎉");
Bu Örnek Neyi Öğretiyor?
✔️ while gerçek hayatta nasıl kullanılır
✔️ koşul nasıl güncellenir
✔️ kullanıcı etkileşimi
✔️ break olmadan doğal bitiş
En Sık Yapılan Hatalar ❌ (Ve Nasıl Kaçınılır)
❌ Sayaç artırmayı unutmak
✔️ Her döngüde: “Bu koşul nasıl false olacak?” diye sor
❌ Yanlış karşılaştırma
✔️ === kullan, tahmin yapma
❌ while(true) + break koymamak
✔️ Çıkış kapısını önceden planla
Profesyonel İpuçları 🧠🔥
💡 while, event loop ve async yapılarla çok güçlüdür
💡 Validation, retry mekanizması, polling işlemleri için birebir
💡 Okunabilirlik için:
while (isValid === false) { ... }
gibi net koşullar kullan
Kısa Özet (Ama Beyne Kazınan) 🧠✨
while→ koşul doğruysa çalışır- Döngüyü bitirecek bir yol şart
- Belirsizlik varsa en doğru seçim
break&continuekontrolü senin eline verir- Yanlış kullanılırsa… tarayıcıyı ağlatır 😅

