Конструкция switch


Switch заменяет несколько условий if... else

Синтаксис:
    var x = a + 1;
    switch(x) {
 
    case 2:  // if (x === 2)
   
    ...
  
    break

 
    case 3:  // if (x === 3)
      case 4:  // if (x === 4) 
        
       ...
  
    break

 
    default:
   
    ...
   
    break    }

У нас есть некая переменная х и switch проверяет условие на строгое соответствие ей.
То. что соответствие строгое ( === ) важно. Тип данных имеет значение.

Оператор break означает, что после выполнения команды ( ... ), выполнение инструкции следует прекратить.
Этот оператор не обязательный. Если его нет, интерпретатор находит первое истинное условие и выполняет все команды, следующие за ним ниже по коду, уже не проверяя соответствие условию.

Нескольким условиям может соответствовать одна команда, в коде выше это строки

    case 3: 
    case 4: 
       ... 

В сase могут быть указаны любые выражения и функции.

Задача.
Переписать if-ы в switch

    var a = +prompt('a?', '');
    if (a == 0) {
 
    alert( 0 );    }    if (a == 1) {      alert( 1 );    }
    if (a == 2 || a == 3) {      alert( '2,3' );    }

Решение

    var a = + prompt('a?', '');    switch (a) {      case 0:
 
       alert(0);
 
       break;
 
    case 1:        alert(1);
 
       break;      case 2:      case 3:        alert('2,3');        break;    }