99 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| title: Switch Statements
 | ||
| localeTitle: Записи переключателей
 | ||
| ---
 | ||
| ## Записи переключателей
 | ||
| 
 | ||
| Оператор `switch` в программировании похож на оператор `if-else` , но иногда его легче читать, когда есть много условий. Также он позволяет добавить блок по `default` который будет выполнен, если ни одно из других условий не будет истинным.
 | ||
| 
 | ||
| ### Синтаксис:
 | ||
| 
 | ||
| ```javascript
 | ||
| switch(expression) { 
 | ||
|   case 1: 
 | ||
|     console.log('1'); 
 | ||
|     break; 
 | ||
|    case 2: 
 | ||
|      console.log('2'); 
 | ||
|      break; 
 | ||
|    default: 
 | ||
|      console.log('No true condition, default'); 
 | ||
|  } 
 | ||
| ```
 | ||
| 
 | ||
| В приведенном выше фрагменте показан синтаксис базового оператора `switch` . В этом примере существует 3 разных сценария для:
 | ||
| 
 | ||
| *   `expression = 1` : Первое условие истинно, и `1` печатается на консоль.
 | ||
| *   `expression = 2` : второе условие истинно, а `2` печатается на консоли.
 | ||
| *   `expression = 'anything else'` : случай 1 и случай 2 являются ложными, поэтому выполняется условие по умолчанию.
 | ||
| 
 | ||
| Условие по `default` - это условие, которое будет выполнено, если ни один из других случаев не является истинным.
 | ||
| 
 | ||
| Примечание. Здесь очень важно отметить, что в приведенном выше фрагменте `case 1:` и `case 2:` может показаться каким-то порядком, но `1` и `2` - не что иное, как ответы, которые могут быть оценены `(expression)` , Таким образом, вместо 1 и 2 это может быть все, что `(expression)` может оценивать и может быть проверено против.
 | ||
| 
 | ||
| Например:
 | ||
| 
 | ||
| ```javascript
 | ||
| var someValue; 
 | ||
|  var expression = someValue; 
 | ||
|  switch(expression){ 
 | ||
|   case someValue: 
 | ||
|     console.log('10'); // 10 would be printed to the console 
 | ||
|     break; 
 | ||
|   case 23: 
 | ||
|     console.log('12'); 
 | ||
|     break; 
 | ||
|   default: 
 | ||
|     console.log('No matches'); 
 | ||
|  } 
 | ||
| ```
 | ||
| 
 | ||
| Примечание: `expression` в приведенном выше фрагменте может быть строкой или номером.
 | ||
| 
 | ||
| ### Перерыв
 | ||
| 
 | ||
| Ключевое слово `break` требуется в каждом случае, чтобы убедиться, что только код в этом случае будет выполнен. Без перерыва могут быть выполнены несколько случаев. Когда JavaScript достигает ключевого слова `break` , он выходит из блока переключателей. Если `break` был исключен из приведенного выше примера, это произойдет:
 | ||
| 
 | ||
| ```javascript
 | ||
| var expression = 1; 
 | ||
|  switch(expression) { 
 | ||
|   case 1: 
 | ||
|     console.log('1');  // 1 would be printed to console 
 | ||
|   case 2: // As there is no break after case 1, this case is also executed. 
 | ||
|     console.log('2'); // 2 would be printed to the console. 
 | ||
|     break; // break -> Switch statement is exited 
 | ||
|   default: 
 | ||
|     console.log('No true condition, default'); 
 | ||
|  } 
 | ||
| ```
 | ||
| 
 | ||
| ### Выполните несколько случаев:
 | ||
| 
 | ||
| Операторы `switch` также позволяют выполнять один и тот же блок кода несколькими случаями. Это можно сделать, добавив 1 или более ключевых слов `case :` перед блоком кода.
 | ||
| 
 | ||
| Например:
 | ||
| 
 | ||
| ```javascript
 | ||
| switch (day) { 
 | ||
|   case 4: 
 | ||
|   case 5: 
 | ||
|     console.log('it is nearly the weekend'); 
 | ||
|     break; 
 | ||
|   case 0: 
 | ||
|   case 6: 
 | ||
|     console.log('it is the weekend'); 
 | ||
|     break; 
 | ||
|   default: 
 | ||
|     console.log('Looking forward to the Weekend'); 
 | ||
|  } 
 | ||
| ```
 | ||
| 
 | ||
| В приведенном выше фрагменте:
 | ||
| 
 | ||
| *   Если `day` `4` или `5` (четверг или пятница), `it is nearly the weekend` будут напечатаны на консоли, когда первый случай будет выполнен.
 | ||
| *   Если `day` равен `0` или `6` , (в субботу или воскресенье), `it is the weekend` будут напечатаны на консоли, когда второй случай будет выполнен.
 | ||
| *   Если `day` - любое другое значение, `Looking forward to the Weekend` он будет распечатан на консоль, так как случай по умолчанию будет выполнен.
 | ||
| 
 | ||
| ### Дополнительная информация:
 | ||
| 
 | ||
| [Документация MDN для коммутатора](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch) |