If–Else Kalabalığından Kurtulmanın Eğlenceli ve Profesyonel Yolu
Bir noktada her JavaScript geliştiricisinin başına gelir:
if (x === 1) {
} else if (x === 2) {
} else if (x === 3) {
} else if (x === 4) {
} else {
}
Bu kodu yazarken iç sesin şunu der:
“Ben yazılımcıyım… neden bu kadar acı çekiyorum?” 😩
İşte switch statement tam bu noktada devreye girer ve der ki:
“Sakin ol… ben varım.” 😌
🤔 Switch Statement Nedir? (Gerçek Hayat Versiyonu)
Switch’i bir otomatik santral gibi düşün 📞
- Sen bir değer verirsin
- Switch o değeri alır
- “Bu hangi kapıya ait?” diye bakar
- Doğru kapıyı açar
💡 Yani:
- Tek bir değişken
- Birden fazla olası senaryo
- Net sonuçlar
varsa → switch cuk oturur 👌
🧱 Switch Yapısının Temel Anatomisi (Kaslı Versiyon 💪)
switch (kontrolEdilecekDeger) {
case olasiDurum1:
// yapılacaklar
break;
case olasiDurum2:
// yapılacaklar
break;
default:
// hiçbir şeye uymuyorsa
}
🧠 Parça Parça Açalım
| Parça | Ne İşe Yarar? |
|---|---|
switch | Kontrol merkezidir |
case | “Eğer buysa” demenin switch’li hali |
break | “Tamam buradayız, dur!” |
default | Son çare, B planı |
📅 Örnek 1: Günlere Göre Ruh Hali Analizi (Bilimsel Değil Ama Gerçek 😄)
let gun = "Pazartesi";
switch (gun) {
case "Pazartesi":
console.log("Kahve yetmedi ☕😵");
break;
case "Salı":
console.log("Hâlâ ayılamadım...");
break;
case "Cuma":
console.log("Çıkışa 3 saat kaldı 🎉");
break;
case "Cumartesi":
case "Pazar":
console.log("Hayat güzel 😌");
break;
default:
console.log("Bu hangi gün? 🤔");
}
🔍 Burada Neler Oluyor?
CumartesivePazaraynı sonucu veriyor- Araya
breakkoymadık çünkü bilerek devam etsin istedik - Kod okunabilir, net, temiz
🧠 İpucu:
Aynı çıktıyı veren durumları alt alta yazmak, switch’in gizli süper gücüdür 🦸♂️
⚠️ Break Yazmazsak Ne Olur? (Switch’in Karanlık Tarafı 😈)
let seviye = 1;
switch (seviye) {
case 1:
console.log("Çaylak");
case 2:
console.log("Deneyimli");
case 3:
console.log("Usta");
}
📢 Çıktı:
Çaylak
Deneyimli
Usta
😱 Neden?
- JavaScript
breakgörmedi - “Madem başladık, devam edelim” dedi
🧠 Ders:
breakyoksa switch durmaz, yuvarlanır gider.
🎯 Profesyonel refleks:
Her case yazdığında otomatik olarak break ekle.
Sonra bilinçli olarak sil 😉
🧮 Örnek 2: Switch ile Mini Hesap Makinesi
let islem = "*";
let a = 6;
let b = 7;
switch (islem) {
case "+":
console.log("Toplam:", a + b);
break;
case "-":
console.log("Fark:", a - b);
break;
case "*":
console.log("Çarpım:", a * b);
break;
case "/":
console.log("Bölüm:", a / b);
break;
default:
console.log("Bilinmeyen işlem ❌");
}
🧠 Ne Öğrendik?
- Menü sistemleri
- Oyun içi seçimler
- Hesap makineleri
- Ayar panelleri
👉 Switch’in doğal habitatı 🏞️
🎮 Örnek 3: Oyun Karakteri Seçimi (Level Up!)
let karakter = "mage";
switch (karakter) {
case "warrior":
console.log("Kılıç + güç 💪");
break;
case "mage":
console.log("Büyü + zeka 🧙♂️");
break;
case "archer":
console.log("Ok + çeviklik 🏹");
break;
default:
console.log("Bilinmeyen karakter");
}
📌 Gerçek hayatta nerede?
- Oyunlar
- Rol seçimleri
- Yetkilendirme sistemleri
🆚 Switch mi If–Else mi? (Ringde Kim Var? 🥊)
✅ Switch Kullan:
- Tek değişken varsa
- Sabit değerler kontrol ediliyorsa
- Kod okunabilirliği önemliyse
✅ If–Else Kullan:
> < && ||gibi karşılaştırmalar varsa- Karmaşık mantık gerekiyorsa
- Dinamik koşullar söz konusuysa
🧠 Altın Kural:
“Switch sadedir, if–else esnektir.”
⚠️ Switch Strict Karşılaştırma Yapar (=== Alarmı 🚨)
switch (10) {
case "10":
console.log("String");
break;
case 10:
console.log("Number");
break;
}
📢 Çıktı:
Number
👉 Çünkü switch:
- Tür dönüşümü yapmaz
- === gibi davranır
🧠 İpucu:
Değerin tipinden emin değilsen switch seni üzebilir 😅
🧩 Bonus: Switch’i Daha Akıllı Kullanma Tüyoları
✔️ Case’lerde Fonksiyon Çağırabilirsin
case "login":
loginUser();
break;
✔️ Default’u Asla Atlamaz
Default = hata yakalama noktası 🎯
❌ Case’lerde Karmaşık Mantık Yapma
Switch sade kalmalı, drama sevmez 😄
🎯 Final: Switch’i Artık Tanıyorsun
Artık sen:
- Switch’in ne olduğunu biliyorsun
- Nerede parladığını biliyorsun
- Nerede if–else’e bırakılması gerektiğini biliyorsun
🎉 Seviye atladın!
