1347

Sıfırdan İleri Seviye Modern Javascript Dersleri ES7+

Js Switch

Javascript switch nedir ve nasıl kullanılır,öğrenelim.



Javascript uygulamalarında bir duruma bağlı olarak farklı kod bloklarını çalıştırmak istediğimizde switch komutunu kullanabiliriniz.

Js Switch Yazımı

switch(ifade) {
  case x:
    // kod bloğu
    break;
  case y:
    // kod bloğu
    break;
  default:
    // kod bloğu
}

switch komutuna içeriğini kontrol etmek istediğimiz değişkeni yazıyoruz ve kontrol ettiğimiz değişken içeriğinin alabileceği her farklı değeri case ile belirtiyoruz.

break komutu ile sonraki durumların kontrolünü geçerek direk switch bloğu dışına çıkabiliyoruz.

default komutu ile kontrol ettiğimiz değişken içeriğinin eşitliği hiç bir case bloğunda karşılanmıyorsa default bloğundaki kodlar işletilir.

Örnek

var kategori = 'beyaz eşya';

switch(kategori){
  case 'telefon':
      console.log('telefon kategorisi');
      break;

  case 'bilgisayar':
      console.log('bilgisayar kategorisi');
      break;   

  default:
     console.log('yanlış kategori');
}

Kategori değişken içeriğinin alabileceği farklı kategori değerlerine göre ekrana mesaj yazıyoruz. Eğer ki; kategori değişkeni telefon ya da bilgisayar değilse bu durumda ekrana yanlış kategori yazacaktır. 

break komutlarını her case bloğuna ekleyerek çalıştırılan bir bloktan sonra switch bloğu sonundan devam etmemiz sağlanır.

Örnek

Haftanın gününe göre ekrana hafta sonu ya da hafta içi yazan javascript uygulamasını switch ile yapalım.

var day;

switch (new Date().getDay()) {
     case 0:
     case 6:
         day = 'Hafta Sonu';
         break;
     case 1:
     case 2:
     case 3:
     case 4:
     case 5:       
         day = 'Hafta içi';
         break;
 }

console.log(`bugün ${day}`);

new Date().getDay() komutu ile haftanın gününü sayı şeklinde alırız. Günlere karşılık gelen sayısal değer 0-6 a kadar pazar-cumartesi arası ilerler. Yani 0 pazar günü iken 6 cumartesi gününe denk gelir. Dolayısıyla case bloklarını birleştirerek yukarıdan aşağıya 0 ve 6 için hafta sonu yazarken diğer her durumda hafta içi yazabiliriz. Tek tek her durumda hafta içi ya da hafta sonu yazmamıza gerek kalmaz.

Örnek

Kullanıcının yaşaına göre ekrana farklı mesaj yazan javascript uygulamasını switch ile yapalım.

var yas = 9;
var ad ='Sena';

switch(true){
    case yas >=0 && yas <=12:
       console.log(`${ad} is a child`);
       break;
    case (yas >=13 && yas<=19):
       console.log(`${ad } is a teenager`);
       break;
    default:
       console.log(`${ad } is an adult`);
}

case blolarından hangisi switch bloğunda yazan değere yani boolean true bilgisine eşitse o case bloğu kapsamındaki kodlar işletilir ve ekrana 3 farklı mesajdan sadece biri yazar. 

Eğer kullanıcının yaşı 0-12 arasındaysa ekrana "Sena is a child",

eğer kullanıcı yaşı 13-19 arasındaysa ekrana "Sena is a teenager",

bu yaş aralıklarında değilse ekrana "Sena" is an adult.", yazacaktır.