Оператор выбора switch

Оператор выбора switch имеет следующий формат:

switch (<Переменная или выражение>) {
   case <Значение 1>:
      <Инструкции>
      break;
[  case <Значение 2>:
      <Инструкции>
      break;
...]
[  default:
      <Инструкции>]
}

Вместо условия оператор switch принимает переменную или выражение. В зависимости от значения переменной (или выражения) выполняется один из блоков case, в котором указано это значение. Если ни одно из значений не описано в блоках case, то выполняется блок default (если он указан). Сравнение производится с помощью оператора === (строго равно). Пример использования оператора switch приведен в листинге 4.4.

Листинг 4.4. Использование оператора switch

const process = require('process');

if (process.argv.length == 3) {
   let os = parseInt(process.argv[2], 10);
   if ( isNaN(os) ) {
      console.log('Вы ввели не число!');
   }
   else {
      switch (os) {
         case 1:
            console.log('Вы выбрали - Windows 7');
            break;
         case 2:
            console.log('Вы выбрали - Windows 8');
            break;
         case 3:
            console.log('Вы выбрали - Windows 10');
            break;
         case 4:
            console.log('Вы выбрали - Другая');
            break;
         default:
            console.log('Мы не смогли определить систему');
      }
   }
}
else {
   console.log('Какой операционной системой вы пользуетесь?');
   console.log('1 - Windows 7');
   console.log('2 - Windows 8');
   console.log('3 - Windows 10');
   console.log('4 - Другая\n');
   console.log(
      'Передайте число, соответствующее ответу, в конце команды');
}

Пример ввода значений:

C:\book\p1>node index.js
Какой операционной системой вы пользуетесь?
1 - Windows 7
2 - Windows 8
3 - Windows 10
4 - Другая

Передайте число, соответствующее ответу, в конце команды

C:\book\p1>node index.js str
Вы ввели не число!

C:\book\p1>node index.js 2
Вы выбрали - Windows 8

C:\book\p1>node index.js 4
Вы выбрали - Другая

C:\book\p1>node index.js 5
Мы не смогли определить систему

Как видно из примера, в конце каждого блока case указан оператор break. Этот оператор позволяет досрочно выйти из оператора выбора switch. Если не указать оператор break, то будет выполняться следующий блок case вне зависимости от указанного значения. Иными словами, оператор break следует обязательно указывать в конце каждого блока case. В некоторых случаях это может быть полезным. Например, можно выполнить одни и те же инструкции при разных значениях, разместив инструкции в конце диапазона значений. Пример:

let ch = 'b';
switch (ch) {
   case 'a':
   case 'b':
   case 'c':
      console.log('a, b или c');
      break;
   case 'd':
      console.log('Только d');
      break;
}

Для быстрой вставки оператора switch в редакторе VS Code, предназначена следующая комбинация:

switch =>
switch (key) {
   case value:
      
      break;

   default:
      break;
}

Учебник по Node.js и JavaScript
Учебник по JavaScript (Node.js) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов