JavaScript. Оператор switch

36

Від автора: вітаю вас друзі. У цій статті ми з вами продовжимо тему умовних операторів в JavaScript і познайомимося з ще одним — це оператор switch. Почнемо!

Отже, чим же може бути нам корисний ще один умовний оператор в JavaScript? По суті оператор switch є певним перемикачем виразів, які виконуються в залежності від істинності умови. Він трохи зручніше конструкції if…else if…else і використовується найчастіше там, де необхідно перевірити відразу кілька умов.

Щоб було зрозуміліше, давайте подивимося на приклад:

var a = 10;
if(a == 1){
alert(‘a = 1’);
}else if(a == 2){
alert(‘a = 2’);
}else if(a == 3){
alert(‘a = 3’);
}else{
alert(‘a > 3’);
}

Ось такий досить навчальний приклад. Ми по черзі порівнюємо значення змінної з різними числами, т. е. у нас більше однієї умови. І навіть більше двох. Саме в цих випадках, якщо у нас більше двох умов, зручніше замінити оператор if оператором switch. Давайте перепишемо наш приклад:

var a = 10;
switch(a){
case 1:
alert(‘a = 1’);
break;
case 2:
alert(‘a = 2’);
break;
case 3:
alert(‘a = 3’);
break;
default:
alert(‘a > 3’);
}

Коду менше не стало. Навпаки, коду стало навіть більше. Але, на мій погляд, код став трохи більш читабельним. Вибирати вам, можете використовувати if, можете switch, що вам зручніше.

При використанні оператора switch варто звернути увагу на наступний момент — порівнюються значення суворим рівністю, тобто перевірка йде не тільки за значенням, але й за типом. І приклад, щоб було зрозуміліше:

var a = 1;
switch(a){
case 1:
alert(‘a = 1’);
break;
default:
alert(‘a > 1’);
}

В результаті виконання даного коду ми побачимо alert a = 1. А тепер давайте так:

var a = 1;
switch(a){
case ‘1’:
alert(‘a = 1’);
break;
default:
alert(‘a > 1’);
}

Тепер же виконається код з блоку default, який по суті є аналогом else в конструкції if…else. Чому так? Та тому що значення збігаються: 1 = ‘1’, а от типи — немає: число 1 не тотожне числовому рядку ‘1’.

На цьому ми завершуємо статтю. Якщо ви хочете більше дізнатися про JavaScript, тоді рекомендую звернути свою увагу на уроки по JavaScript і окремий курс по мові JavaScript. Удачі!