JS switch operatori

ULASHISH

Boshqarish oqimini almashtirish

Shartga asoslanib, switch bir yoki bir nechtasini tanlaydi bajariladigan kod bloklari.

switch ifodaga mos keladigan kod bloklarini bajaradi.

switch ko‘pincha ko‘p if...else if...else iboralariga ko‘proq o‘qilishi mumkin bo‘lgan muqobil sifatida ishlatiladi, ayniqsa bir nechta mumkin bo‘lgan qiymatlar bilan ishlashda.

Sintaksis

switch(expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
    // code block
}

Bu shunday ishlaydi:

  • Switch ifodasi bir marta baholanadi.
  • Ifodaning qiymati har bir holatning qiymatlari bilan taqqoslanadi.
  • Agar mos keladigan bo‘lsa, tegishli kod bloki bajariladi.
  • Agar mos kelmasa, kod bajarilmaydi.

Misol

Ushbu misolda ish kuni nomini hisoblash uchun ish kuni raqamidan foydalaniladi:

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";
}
O‘zingiz sinab ko‘ring »

getDay() usuli ish kunini 0 dan 6 gacha bo‘lgan raqam sifatida qaytaradi.

(Yakshanba = 0, dushanba = 1, seshanba = 2 ..)



break kalit so‘zi

JavaScript break kalit so‘ziga yetganda, u switch blokidan chiqib ketadi.

Bu switch bloki ichidagi bajarilishini to‘xtatadi.

Switch blokidagi boshqa operatorlar bajarilmaydi.

Oxirgi ishni buzish kerak emas. Kalit baribir u erda tugaydi (buziladi).

break kalit so‘zi "tushish" ning oldini olish uchun juda muhimdir.

break bo‘lmasa, kod keyingi case bloklarini (va mavjud bo‘lsa, default blokini) ularning qiymatlari ifodaga mos kelmasa ham bajarishda davom etadi.


Standart kalit so‘z

default kalit so‘zi, agar mavjud bo‘lmasa, ishlaydigan kod blokini belgilaydi holat mosligi.

default kalit so‘zi ixtiyoriy.

default zaxira variant sifatida ishlashi mumkin:

Misol

getDay() usuli ish kunini 0 dan 6 gacha bo‘lgan raqam sifatida qaytaradi.

Agar bugun shanba (6) yoki yakshanba (0) bo‘lmasa, standart xabarni yozing:

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";
}

Matnning natijasi quyidagicha bo‘ladi:

O‘zingiz sinab ko‘ring »

default ishi kalitdagi oxirgi holat bo‘lishi shart emas blok:

Misol

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";
}
O‘zingiz sinab ko‘ring »

Agar default switch blokidagi oxirgi holat bo‘lmasa, default holatini break bilan tugatishni unutmang.


Umumiy kod bloklari

Ba’zan siz turli xil almashtirish holatlarida bir xil koddan foydalanishni xohlaysiz.

Bu misolda 4 va 5 bir xil kod blokini, 0 va 6 esa boshqa kod blokini ulashadi:

Misol

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";
}
O‘zingiz sinab ko‘ring »

Tafsilotlarni almashtirish

Agar bir nechta holatlar ish qiymatiga mos kelsa, birinchi holat tanlanadi.

Agar mos keladigan holatlar topilmasa, dastur standart yorliqda davom etadi.

Agar standart yorliq topilmasa, dastur switch-dan keyin operator(lar)ni davom ettiradi.


Qattiq taqqoslash

Switch qat’iy taqqoslashdan foydalanadi (===).

Qiymatlar mos kelishi uchun bir xil turdagi bo‘lishi kerak.

Har ikkala operand bir xil turdagi bo‘lsa, qat’iy taqqoslash to‘g‘ri bo‘lishi mumkin.

Misol

Bu misolda x ga mos kelmaydi:

let x = "0";
switch (x) {
  case 0:
    text = "Off";
    break;
  case 1:
    text = "On";
    break;
  default:
    text = "No value found";
}
O‘zingiz sinab ko‘ring »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!