Switch ifadesi farklı koşullara bağlı olarak farklı eylemleri yürütmek için kullanılır. Switch kendine gelen ifadeyi değerlendirip, uygun olan case ile eşleştirir. Uygun olan case ile eşleşen ifade/ifadeler yürütülür.
Yazım Kuralı
switch (ifade) {
case deger1:
//ifade, deger1 ile eşleşirse yürütülecek olan kodlar.
[break;]
case deger2:
//ifade, deger2 ile eşleşirse yürütülecek olan kodlar.
[break;]
...
case degerN:
//ifade, degerN ile eşleşirse yürütülecek olan kodlar.
[break;]
default:
//ifade, hiçbir değer ile eşleşmezse yürütülecek olan kodlar.
[break;]
}ifade: case değerleri ile eşleştirilecek olan değer
case degerN: ifade ile eşleştirilecek olan kelime/değer
Tanım:
ifade, case değerleri ile eşleştirilecek olan durumu göstermektedir. Eğer ifade case değerlerinden biri ile eşleşirse, eşleşen değerden break; komutuna kadar olan tüm kodlar çalıştırılır.
Şartlardan sonra break komutu kullanılmazsa program aşağı doğru her case kodunu çalıştırır. Break kullanımı unutulmaması gerek önemli bir noktadır.
Örnek 1:new Date().getDay() metodu 0-6 arasında değer üretir. 0->pazar 6->cumartesi gününü göstermektedir.
switch (new Date().getDay()) {
case 0:
day = "PAZAR";
break;
case 1:
day = "PAZARTESİ";
break;
case 2:
day = "SALI";
break;
case 3:
day = "ÇARŞAMBA";
break;
case 4:
day = "PERŞEMBE";
break;
case 5:
day = "CUMA";
break;
case 6:
day = "CUMARTESİ";
}
Örnek 2:
<input id="bilgi" type="text" value="Karpuz">
<button onclick="kontrol()">Meyve Kontrol Et</button>
<p id="goster"></p>
<script>
function kontrol() {
var yazi;
var meyve = document.getElementById("bilgi").value;
switch(meyve) {
case "Karpuz"
yazi = "Karpuz Güzeldir!";
case "Armut"
yazi = "Armutu pek sevmem";
case "Kiraz"
yazi = "Mevsimi kısa ama tatlı bir meyvedir kiraz";
default
yazi = "Üzgünüm! Yazdığın meyveyi tanımıyorum";
}
document.getElementById("goster").innerHTML = yazi;
}
</script>
Örnek 3: break yazmayı unutunca oluşacak hata ile ilgili örnek
<script>
var deger = 0;
switch (deger) {
case -1:
alert("-1 negatiftir.")
break;
case 0: // deger 0 olduğu için bu bölüm çalışacaktır.
alert(0);
// NOT: break yazmayı unuttuk.
case 1: // break yazılmadığı için case 0 değeri için bu kısımda çalıştırılacaktır.
alert(1);
break; // break yazdıldığı için case 2 değeri çalıştırılmayacaktır.
case 2:
alert(2);
break;
default:
alert("default");
}
</script>
Örnek 4: Tek bir işlem için çoklu case kullanabilirsiniz.
<script>
var meyve = 'Kivi';
switch (meyve) {
case 'Elma':
case 'Ayva':
case 'Kivi':
case 'Karpuz':
alert("Evet bu yazdığını bir meyvedir.")
break;
case 'Domates':
default:
console.log('Hayır bu bir meyve olmaz');
}
</script>

