Yükleniyor...

switch deyimi

if / else soru evet/hayır veya aralık olduğunda parlar. Bazen soru farklıdır: birkaç sabit değerden hangisi? Gün kodu 1…7, durum "ok" / "warn" / "err", menü anahtarı. Bu biçim için switch temiz araçtır. Dallamayı biliyorsunuz; burada bir değeri etiketli birkaç case ile eşleştirirsiniz.

switch ne yapar?

switch parantezdeki bir ifadeye bakar. Bu değeri her case etiketiyle karşılaştırır. Eşleşince o yolun deyimleri çalışır. break switch’ten çıkar; sonraki case’ler çalışmaz. default, hiçbir case eşleşmezse yedek yoldur.

Parçalar bir bakışta

📊 Gündelik switch parçaları

Anahtar sözcük Gündelik okuma Tipik kullanım
switch bu değere bak… seçimi aç
case bu etikete eşitse… bir sabit seçenek
break burada dur; switch’ten çık eşleşmeden sonra bitir
default hiçbir şey eşleşmediyse… yedek yol

Eşleşme katı eşitlik tarzındadır (=== fikri). Sayısal case, rakam dizisiyle eşleşmez. Değer ile etiketleri aynı biçimde tutun.

Basit switch

javascript
let day = 3;
switch (day) {
case 1:
console.log("Mon");
break;
case 2:
console.log("Tue");
break;
case 3:
console.log("Wed");
break;
default:
console.log("other");
}

Bir değer, birkaç etiketli yol

Burada day 3; case 3 yolu çalışır ve Konsol Wed yazdırır. 1 ve 2 case’leri kontrol edilip atlandı. break sonrası switch biter — default çalışmaz.

break olmadan JavaScript sonraki case gövdelerine de devam eder. Buna fall-through denir. Yeni başlayanlar neredeyse her tamamlanmış case’ten sonra break ister.

break neden önemli

javascript
let day = 2;
switch (day) {
case 1:
console.log("Mon");
case 2:
console.log("Tue");
case 3:
console.log("Wed");
break;
default:
console.log("other");
}

break yoksa sonraki case’ler de çalışır

day 2. Eşleşme case 2’de başlar, Tue yazdırır, sonra case 3’e girer ve break öncesi Wed de yazdırır. Bir etiket istediniz; iki aldınız. Bilerek kod paylaşmıyorsanız her tamamlanmış case altına break koyun.

hiçbiri eşleşmezse default

javascript
let day = 9;
switch (day) {
case 1:
console.log("Mon");
break;
case 2:
console.log("Tue");
break;
default:
console.log("other");
}

default «bunlardan hiçbiri»ni kapsar

day 9. Hiçbir case eşleşmez; default çalışır ve other görürsünüz. Beklenmeyen değerlerin de güvenli mesaja ihtiyacı varsa default kullanın. Sessizlik kabul edilebilirse atlayabilirsiniz.

Dize case’leri

javascript
let status = "warn";
switch (status) {
case "ok":
console.log("green");
break;
case "warn":
console.log("yellow");
break;
case "err":
console.log("red");
break;
default:
console.log("unknown");
}

Case’ler dize de olabilir

status "warn"; bu yüzden yellow görürsünüz. Form veya API’den kısa kodlar için dize case’leri yaygındır. «60–90 puan» gibi aralıklar hâlâ if / else if’tedir — switch ayrık etiket ister.

Seçilen etiketi sakla

javascript
let day = 1;
let label;
switch (day) {
case 1:
label = "Mon";
break;
case 2:
label = "Tue";
break;
default:
label = "other";
}
console.log(label);

Eşleşmenin sonucunu adlandırın

Her case’te (ve default’ta) label atayın, sonra bir kez kullanın. Burada label "Mon" olur. if / else ile aynı kalıp — önce seç, sonra kullan.

Seçilen yolu sayfada gösterin

switch ile kısa bir mesaj üretin, sonra sayfaya yazın.

switch ile sayfa seçimi

html
<!DOCTYPE html>
<html>
<head>
<title>Switch — page choice</title>
</head>
<body>
<p id="out">…</p>
<script>
let day = 3;
let msg;
switch (day) {
case 1:
msg = "Mon";
break;
case 2:
msg = "Tue";
break;
case 3:
msg = "Wed";
break;
default:
msg = "other";
}
let box = document.getElementById("out");
box.textContent = "day=" + msg;
</script>
</body>
</html>

day 3, sayfa day=Wed gösterir. day’i 9 yapıp yenileyin; day=other görmelisiniz. Sonraki ders (for) işi birçok kez tekrarlar; «hangi sabit etiket?» için araç switch kalır.

Kendiniz deneyin

  1. let day = 1 üzerinde case 1 için "Mon" kaydeden bir switch kurun.
  2. 2 ve 3 için case ekleyin; her birinden sonra break.
  3. day’i 9 yapın; default’un "other" kaydettiğini doğrulayın.
  4. "ok", "warn", "err" ile dize status üzerinde switch yapın.
  5. Geçici olarak bir break kaldırın; Konsolda fall-through izleyin.
  6. HTML demoda yalnızca day’i değiştirin, yenileyin, yeni day= metnini okuyun.

Sık hatalar

  • Case’ten sonra break unutmak (sonraki case’ler de çalışır)
  • Açık aralıklar (score >= 60) için switch — if / else if daha iyi
  • Türleri karıştırmak; sayı asla dize case ile eşleşmez
  • Bilinmeyen değerlerin hâlâ mesaja ihtiyacı varken default’u atlamak
  • Kontrol sabit etiket listesi değilken her if’i switch ile değiştirmek

Özet

  • switch bir değeri birkaç case etiketiyle eşleştirir
  • break eşleşmeden sonra switch’i durdurur
  • default hiçbir şey eşleşmezse çalışır
  • Ayrık değerler için uygundur; aralıklar if / else if’te kalsın
  • Sonucu sonra kullanacaksanız etiket saklayın; gerekirse sayfada gösterin
  • Sonraki: for döngüsü — işi belirli kez tekrarlamak

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

❓
8
Sorular
🎯
70%
Geçmek İçin
♾️
∞
Süre
🔄
∞
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek