JS switch operatori
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:
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!
