JavaScript Geçiş Bildirimi
İfade switch
, farklı koşullara dayalı olarak farklı eylemler gerçekleştirmek için kullanılır.
JavaScript Anahtarı Bildirimi
Yürütülecek birçok kod bloğundan birini seçmek için switch
ifadeyi kullanın.
Sözdizimi
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
Bu nasıl çalışır:
- Switch ifadesi bir kez değerlendirilir.
- İfadenin değeri, her bir durumun değerleri ile karşılaştırılır.
- Bir eşleşme varsa, ilgili kod bloğu yürütülür.
- Eşleşme yoksa, varsayılan kod bloğu yürütülür.
Örnek
Yöntem getDay()
, haftanın gününü 0 ile 6 arasında bir sayı olarak döndürür.
(Pazar=0, Pazartesi=1, Salı=2 ..)
Bu örnek, haftanın günü adını hesaplamak için gün numarasını kullanır:
switch (new Date().getDay()) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
}
Günün sonucu şöyle olacaktır:
Saturday
Ara Anahtar Kelime
JavaScript bir anahtar kelimeye ulaştığında break
, anahtar bloğundan çıkar.
Bu, anahtar bloğu içindeki yürütmeyi durduracaktır.
Bir anahtar bloğundaki son durumu kırmak gerekli değildir. Zaten blok orada kırılır (biter).
Not: Break ifadesini atlarsanız, değerlendirme durumla eşleşmese bile sonraki durum yürütülür.
Varsayılan Anahtar Kelime
Anahtar default
kelime, büyük/küçük harf eşleşmesi olmadığında çalıştırılacak kodu belirtir:
Örnek
Yöntem getDay()
, haftanın gününü 0 ile 6 arasında bir sayı olarak döndürür.
Bugün ne Cumartesi (6) ne de Pazar (0) ise, varsayılan bir mesaj yazın:
switch (new Date().getDay()) {
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
break;
default:
text = "Looking forward to the Weekend";
}
Metnin sonucu şöyle olacaktır:
Today is Saturday
Durum default
, bir anahtar bloğundaki son durum olmak zorunda değildir:
Örnek
switch (new Date().getDay()) {
default:
text = "Looking forward to the Weekend";
break;
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
}
default
Anahtar bloğundaki son durum değilse, varsayılan durumu bir ara ile sonlandırmayı unutmayın .
Ortak Kod Blokları
Bazen farklı anahtar durumlarının aynı kodu kullanmasını isteyeceksiniz.
Bu örnek durumda, 4 ve 5 aynı kod bloğunu paylaşır ve 0 ve 6 başka bir kod bloğunu paylaşır:
Örnek
switch (new Date().getDay()) {
case 4:
case 5:
text = "Soon it is Weekend";
break;
case 0:
case 6:
text = "It is Weekend";
break;
default:
text = "Looking forward to the Weekend";
}
Anahtarlama Ayrıntıları
Bir vaka değeriyle birden fazla vaka eşleşirse, ilk vaka seçilir.
Eşleşen bir durum bulunamazsa, program varsayılan etikete devam eder.
Varsayılan etiket bulunamazsa, program geçişten sonra ifadelere devam eder .
Sıkı Karşılaştırma
Anahtar durumları katı karşılaştırma kullanır (===).
Değerlerin eşleşmesi için aynı türde olması gerekir.
Kesin bir karşılaştırma, yalnızca işlenenler aynı türdeyse doğru olabilir.
Bu örnekte x için eşleşme olmayacak:
Örnek
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}