JavaScript bazen sessizdir.
Ama iş “çıkış” yapmaya gelince kapıları tek tek gösterir. 🚪😎
Bugün yüzeysel değil, derinlemesine konuşacağız.
Her başlığı açacağız, kodları tek tek açıklayacağız, pratik ipuçları vereceğiz, hatta “nerede kullanmamalısın?” kısmına bile gireceğiz.
Çünkü gerçek ustalık, ne zaman devam edeceğini değil, ne zaman çıkacağını bilmektir.
Hazırsan kemerleri bağla. Başlıyoruz.
1️⃣ break – “Ben buradan iniyorum.”
break, bir döngüyü veya switch yapısını anında durdurur.
Yani JavaScript’e:
“Tamam, yeterince gördüm. Devam etmiyoruz.”
dersin.
🔁 Basit Döngü Örneği
for (let i = 1; i <= 10; i++) {
if (i === 5) {
break;
}
console.log("Sayı:", i);
}
Adım adım ne oluyor?
- i = 1 → yazdırılır
- i = 2 → yazdırılır
- i = 3 → yazdırılır
- i = 4 → yazdırılır
- i = 5 → koşul sağlanır →
breakçalışır - Döngü SON
Çıktı:
Sayı: 1
Sayı: 2
Sayı: 3
Sayı: 4
JavaScript 5’i görünce:
“Ben bu filmi daha önce izledim.” deyip çıkar. 😄
🎯 Gerçek Hayat Senaryosu: Arama İşlemi
let kullanicilar = ["Ali", "Ayşe", "Mehmet", "Zeynep"];
let aranan = "Mehmet";
for (let i = 0; i < kullanicilar.length; i++) {
if (kullanicilar[i] === aranan) {
console.log("Kullanıcı bulundu!");
break;
}
}
💡 Neden break kullandık?
Çünkü bulduktan sonra devam etmek mantıksız.
Aradığını bulmuşsun. Daha ne arıyorsun? 😄
⚡ Performans İpucu
Büyük veri dizilerinde break kullanmak ciddi performans kazancı sağlar.
100.000 elemanlık bir dizide ilk elemanda aradığını bulduysan,
geri kalan 99.999 elemanı gezmek gereksizdir.
break = zaman tasarrufu.
🎮 Etiketli (Labeled) Break – İleri Seviye
outerLoop:
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
if (i === 1 && j === 1) {
break outerLoop;
}
console.log(i, j);
}
}
Bu ne?
Bu, iç döngüden değil dış döngüden çıkış yapar.
Bu teknik nadir kullanılır ama karmaşık nested döngülerde hayat kurtarır.
2️⃣ continue – “Bu turu pas geçiyorum.”
continue, döngüyü bitirmez.
Sadece o anki turu atlar ve bir sonraki tura geçer.
🔁 Basit Örnek
for (let i = 1; i <= 5; i++) {
if (i === 3) {
continue;
}
console.log(i);
}
Çıktı:
1
2
4
5
3 ne oldu?
JavaScript dedi ki:
“3’ü bugün konuşmayalım.” 😄
🎯 Pratik Kullanım: Çift Sayıları Yazdır
for (let i = 1; i <= 10; i++) {
if (i % 2 !== 0) {
continue;
}
console.log("Çift sayı:", i);
}
Burada ne yaptık?
- Eğer sayı tekse → atla
- Eğer çiftse → yazdır
Bu yaklaşım, kodu daha temiz yapar.
🧠 Temiz Kod İpucu
Bazen şöyle yazılır:
if (i % 2 === 0) {
console.log(i);
}
Ama continue kullanmak, özellikle uzun bloklarda daha okunabilir olabilir:
if (i % 2 !== 0) continue;
// burada sadece çift sayılar var
Bu yöntem “guard clause” mantığına benzer.
Yani hatalı durumu erkenden dışarı atarsın.
3️⃣ return – “Fonksiyon burada sona erer.”
return, fonksiyonun kaderini belirler.
Çalışmayı bitirir ve değer döndürür.
🔥 Basit Fonksiyon
function topla(a, b) {
return a + b;
}
console.log(topla(3, 5));
Burada:
- a + b hesaplanır
- sonuç döndürülür
- fonksiyon biter
⚡ Guard Clause Tekniği (Profesyonel Seviye)
function kayitOl(email) {
if (!email) {
return "Email zorunlu!";
}
if (!email.includes("@")) {
return "Geçersiz email!";
}
return "Kayıt başarılı!";
}
Bu teknik neden güzel?
Çünkü:
- Hatalı durumları başta eleyip çıkıyorsun
- Kodun geri kalanı sade kalıyor
Bu yaklaşım modern JavaScript’te çok kullanılır.
❌ return Sonrası Kod Çalışmaz
function test() {
return "Bitti";
console.log("Bu asla çalışmaz");
}
JavaScript burada:
“Return dedin mi? Ben gidiyorum.” der.
Bu yüzden return konumuna dikkat etmek hayati.
4️⃣ throw – “Alarm Çalıyor!”
throw, bilinçli hata üretir.
Program akışını durdurur.
🎭 Basit Hata Fırlatma
function bol(a, b) {
if (b === 0) {
throw new Error("Sıfıra bölünemez!");
}
return a / b;
}
console.log(bol(10, 0));
Burada ne oldu?
- b sıfır
- throw çalıştı
- program hata verdi
🛡️ try…catch ile Güvenli Kullanım
try {
console.log(bol(10, 0));
} catch (error) {
console.log("Bir hata oluştu:", error.message);
}
Bu profesyonel yaklaşımdır.
Hata kontrolü olmayan uygulama,
freni olmayan araba gibidir. 🚗💥
🎯 Ne Zaman throw Kullanmalı?
✔ Kritik veri hatalarında
✔ API validasyonlarında
✔ Güvenlik kontrollerinde
❌ Küçük kontrol durumlarında gereksiz kullanma.
Her yere throw atarsan, kod panik odasına döner. 😄
5️⃣ process.exit() – Node.js’te Tam Kapanış
Bu tarayıcıda çalışmaz.
Ama Node.js ortamında çalışır.
console.log("Program başlıyor...");
process.exit();
console.log("Bu satır asla çalışmaz.");
process.exit() çağrıldığında:
- Node süreci kapanır
- Program tamamen durur
🎯 Kullanım Alanı
- CLI araçları
- Script’ler
- Kritik hata sonrası tam kapanış
💡 Bonus: return vs break Farkı
| Özellik | break | return |
|---|---|---|
| Nerede çalışır | Döngü / switch | Fonksiyon |
| Ne yapar | Yapıyı durdurur | Fonksiyonu tamamen bitirir |
| Değer döndürür mü? | Hayır | Evet |
🧠 Büyük Resim
JavaScript’te çıkış yöntemleri, kontrol gücünü sana verir.
break→ Döngü kapısıcontinue→ Tur atlamareturn→ Fonksiyon sonuthrow→ Hata alarmıprocess.exit()→ Program kapanışı
🎬 Son Söz
Kod yazmak satır eklemek değildir.
Kod yazmak, akışı yönetmektir.
Ve bazen en iyi hareket…
doğru yerde çıkış yapmaktır.
Çünkü unutma:
İyi yazılımcı kodu başlatmayı bilir.
Usta yazılımcı ise ne zaman durduracağını bilir. 😎
