Switch ifodasi bir nechta if tekshiruvlarini almashtirishi mumkin.
Bu qiymatni bir nechta variant bilan taqqoslashning yanada tavsiflovchi usulini beradi.
Sintaksis
Switch bir yoki bir nechta case bloklariga ega va ixtiyoriy sukut bo’yicha.
Bu shunday ko’rinishga ega:
switch(x) {
case 'value1': // if (x === 'value1')
...
[break]
case 'value2': // if (x === 'value2')
...
[break]
default:
...
[break]
}
xqiymati birinchicasedan qat’iy tenglik tekshiriladi (ya’nivalue1) keyin ikkinchisiga (value2) va boshqalar.- Agar tenglik topilsa,
switchmos keladigancasedan boshlab, eng yaqinbreakga qadar (yokiswitchtugaguniga qadar) kodni bajarishni boshlaydi. - Agar biron bir holat mos kelmasa, u holda
defaultkodi bajariladi (agar mavjud bo’lsa).
Misol
Switch misoli (bajarilgan kod ajratilgan):
let a = 2 + 2;
switch (a) {
case 3:
alert( 'Juda kichik' );
break;
case 4:
alert( 'Aynan!' );
break;
case 5:
alert( 'Juda katta' );
break;
default:
alert( "Men bunday qiymatlarni bilmayman" );
}
Bu erda switch 3 bo’lgan birinchi case variantidan a ni taqqoslashni boshlaydi. Taqqoslash muvaffaqiyatsiz tugadi.
Keyin 4. Bu to’g’ri, shuning uchun ijro case 4 dan eng yaqin break ga qadar boshlanadi.
Agar break bo’lmasa, ijro keyingi case ga hech qanday tekshiruvsiz davom etadi.
break siz misol: