Giriş
Koşullu ifadeler, herhangi bir programlama dilindeki en önemli kontrol akışlarından biridir. Bunları, belirli bir koşula göre yürütme davranışını belirlemek için kullanırız. Javascript dilinde, koşullu bloklar if, else if, else ve switch ifadeleri kullanılarak oluşturulabilir.
The switch ifadesi, ifadenin olası bazı sonuçlarına göre karar vererek kontrol akışının okunmasını kolaylaştırır. Eşleşen kullanım durumuna bağlı olarak, bir veya daha fazla kod bloğu yürütülebilir. switch kontrolü, else if ifadesine benzer. Ancak, switch sözdizimi açısından daha okunabilirdir. Ayrıca birden fazla olası sonucun olduğu senaryolar için idealdir.
Bu eğitimde, Javascript'teki switch ifadesine odaklanacağız ve karmaşık kontrol yapıları oluşturmak için bunu uygulayacağız. Ayrıca, kontrol akışını yönlendirmek için switch bloğu içindeki break , case, ve default ifadelerini nasıl kullanacağımızı öğreneceğiz.
Switch İfadesini Kullanma
The switch ifadesi, bir değişkenin değerini olası ifadelerle karşılaştırarak çalışır. Ardından, sonuçla eşleşen kod bloğunu yürütür. switch ifadesinin sözdizimi, if ifadesinden farklı değildir. Kısacası, switch ifadesinin sözdizimi şu şekilde yazılır:
|
1 2 |
switch() { } |
Aşağıda, switch ifadesine bir örnek verilmiştir. İki durumu veya iki olası sonucunun yanı sıra, default anahtar kelimesiyle belirtilen bir varsayılan seçeneğe sahiptir. Bu varsayılan seçenek, yürütme sona erdiğinde veya eşleşen bir durum bulunamadığında yürütülür:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
switch (expression) { case x: // ifade case x ile eşleştiğinde bu kod bloğunu yürütür break; case y: // ifade case y ile eşleştiğinde bu kod bloğunu yürütür break; default: // varsayılan blok } |
Yukarıdaki kod şu şekilde yürütülür:
-
İlk olarak, ifade değerlendirilir.
-
Ardından, ifadenin sonucu case x ile karşılaştırılır. Değer eşleşirse, case x altındaki kod bloğu yürütülür.
-
Eğer ifade case x ile eşleşmezse, case y ile karşılaştırılır. Eşleşme bulunursa, case y kod bloğu yürütülür.
-
Son olarak, ne case x ne de case y eşleşmezse, default kodu yürütülür ve kontrol switch bloğundan çıkar.
Çalışma Örneği
To understand the switch ifadesini anlamak için çalışan bir örneğe göz atalım. Geçerli tarihin haftanın günü değerini, Javascript'in getDay() yöntemini kullanarak elde edeceğiz. Bu değer, Javascript'in Date nesnesine aittir. Bu değer bir sayıdır; Pazar günü için ve 6 Cumartesi günü içindir. Haftanın hangi günü olduğunu belirlemek için bu değeri değerlendireceğiz:
|
1 |
const day = new Date().getDay(); |
Ardından, bu değeri switch ifadesine göndereceğiz. switch ifadesi, haftanın hangi günü olduğunu belirlemek için durumlarla eşleştirmek üzere yukarıdan aşağıya doğru çalışacaktır. Durum bulunduğunda, break komutu, switch bloğunun ifadeleri değerlendirmeye devam etmesini durduracaktır:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
// Haftanın geçerli gününü bir değişkene atayın; 0 Pazar ve 6 Cumartesi olacak şekilde const day = new Date().getDay(); switch (day) { case 0: console.log("Bugün Pazar"); break; case 1: console.log("Bugün Pazartesi!"); break; case 2: console.log("Bugün Salı."); break; case 3: console.log("Çarşamba gelmiş bile!"); break; case 4: console.log("Bugün Perşembe"); break; case 5: console.log("Mutlu Cumalar!"); break; case 6: console.log("Bugün Cumartesi!"); break; default: console.log("Hiçbir durum eşleşmedi") } |
Depending on the value returned from the getDate() metodundan dönen değere bağlı olarak, en üstten başlanarak durumlar tek tek test edilecektir. Çıktı, kodu çalıştırdığınız güne bağlı olarak farklı olacaktır. Varsayılan kod bloğu, hiçbir durum eşleşmediğinde bu senaryoyu ele alabilmemiz için yerleştirilmiştir. Ancak, bu kodda haftanın yalnızca sınırlı sayıda günü olduğundan default asla çağrılmayacaktır.
The break ifadesi, durum eşleştikten sonra başka hiçbir durumun eşleşmemesini ve denetimin switch ifadesinden çıkmasını sağlar. Bu, programı daha verimli ve hızlı hale getirir.
Switch İçinde Aralıkları Test Etme
Şimdiye kadar çok basit kullanım senaryolarına baktık. Ancak tek bir değer yerine bir değer aralığına karşı test yapılması gereken zamanlar olabilir. Bunu, ifademizi true olarak ayarlayarak ve her bir case ifadesi içinde bir işlem gerçekleştirerek yapabiliriz.
Bu kullanım senaryosunu bir örnek yardımıyla gösterelim. Bir sayı alacağız ve ardından aşağıdaki sınıflandırmayı kullanarak bunu bir nota dönüştüreceğiz:
-
90 ve üzeri notlar A
-
80 ila 89 arasındaki notlar B
-
70 ila 79 arasındaki notlar C
-
60 ila 69 arasındaki notlar D
-
59 ve altındaki notlar F
Bu ifadeleri switch ifadeleri olarak yazacağız. Bunun için kod aşağıdadır:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
// Öğrencinin notu const grade = 87; switch (true) { // Puan 90 veya daha büyükse case grade >= 90: console.log("A"); break; // Puan 80 veya daha büyükse case grade >= 80: console.log("B"); break; // Puan 70 veya daha büyükse case grade >= 70: console.log("C"); break; // Puan 60 veya daha büyükse case grade >= 60: console.log("D"); break; // 59 veya altındaki her şey başarısızdır default: console.log("F"); } |
Yukarıdaki kod örneklerinin aksine, burada parantez içindeki ifadeyi true olarak ayarladık. Bu nedenle, hangi case ifadesi true değeriyle eşleşirse o çalıştırılacaktır. Tıpkı else if ifadesinde olduğu gibi, belirtilen değerle eşleşen ilk ifade çalıştırılacaktır. Burada çıktı B olacaktır; her ne kadar C ve D de ifadeyle eşleşiyor olsa bile.
Birden Çok Durum
Aynı kod bloğuna sahip birden fazla case olmasını istiyorsanız, bu da mümkündür. Bu, veya koşulunun if ifadesindeki kullanımına benzer. Bu tür senaryolarda, her kod bloğu için birden fazla case belirtebiliriz.
Bu kavramı açıklamak için yılın aylarıyla ilgili bir örnek vereceğiz. Bu ayları yılın mevsimlerine göre kategorize edeceğiz. İlk olarak, geçerli aya karşılık gelen bir sayı bulmak için yeni Date() yöntemini kullanacağız ve bunu month değişkenine uygulayacağız. Date().getMonth() yöntemi, 0 ile 11 arasında bir sayı döndürür; 0 Ocak ayını ve 11 ise Aralık ayını temsil eder.
Aşağıdaki belirtimleri kullanarak kategorize edeceğiz:
-
Kış: Ocak, Şubat ve Mart
-
İlkbahar: Nisan, Mayıs ve Haziran
-
Yaz: Temmuz, Ağustos ve Eylül
-
Sonbahar: Ekim, Kasım ve Aralık
Kod şu şekilde görünecektir:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
const month = new Date().getMonth(); switch (month) { // Ocak, Şubat, Mart case 0: case 1: case 2: console.log("Kış"); break; // Nisan, Mayıs, Haziran case 3: case 4: case 5: console.log("İlkbahar"); break; // Temmuz, Ağustos, Eylül case 6: case 7: case 8: console.log("Yaz"); break; // Ekim, Kasım, Aralık case 9: case 10: case 11: console.log("Sonbahar"); break; default: console.log("Bir şeyler yanlış gitti."); } |
Yukarıdaki kod çalıştırıldığında, aya bağlı olarak mevsimin adı konsolda gösterilecektir.
Sonuç
Bu eğitimde, Javascript uygulamalarında switch ifadesinin nasıl kullanılacağını gösterdik. Ayrıca switch ifadesini, default anahtar kelimesiyle birlikte bir aralığa ve birden çok duruma uyguladık. Javascript hakkında daha fazla bilgi edinmek isterseniz aşağıdaki eğitimlere göz atabilirsiniz:
- JavaScript ile Çalışmak: Nesneler (Objects) Nedir?
- JavaScript: Dizeleri İndeksleme, Bölme ve Değiştirme Eğitimi
- JavaScript ile Çalışmak: Sınıflar (Classes) Nasıl Çalışır?
Keyifli Kodlamalar!
Yorumlar
Henüz yorum yapılmamış. İlk siz olun.