TypeScript - Declaração Switch ... case

o switch instrução avalia uma expressão, corresponde ao valor da expressão a uma cláusula de caso e executa instruções associadas a esse caso.

Sintaxe

switch(variable_expression) { 
   case constant_expr1: { 
      //statements; 
      break; 
   } 
   case constant_expr2: { 
      //statements; 
      break; 
   } 
   default: { 
      //statements; 
      break; 
   } 
}

O valor de variable_expression é testado em todos os casos no switch. Se a variável corresponder a um dos casos, o bloco de código correspondente é executado. Se nenhuma expressão case corresponder ao valor de variable_expression, o código dentro do bloco padrão será associado.

As seguintes regras se aplicam a uma instrução switch -

  • Pode haver qualquer número de declarações de caso em um switch.

  • As instruções case podem incluir apenas constantes. Não pode ser uma variável ou uma expressão.

  • O tipo de dados de variable_expression e a expressão constante devem corresponder.

  • A menos que você coloque uma pausa após cada bloco de código, a execução flui para o próximo bloco.

  • A expressão do caso deve ser única.

  • O bloco padrão é opcional.

Fluxograma

Exemplo: switch ... case

var grade:string = "A"; 
switch(grade) { 
   case "A": { 
      console.log("Excellent"); 
      break; 
   } 
   case "B": { 
      console.log("Good"); 
      break; 
   } 
   case "C": {
      console.log("Fair"); 
      break;    
   } 
   case "D": { 
      console.log("Poor"); 
      break; 
   }  
   default: { 
      console.log("Invalid choice"); 
      break;              
   } 
}

O exemplo verifica o valor da variável grau em relação ao conjunto de constantes (A, B, C, D e E) e executa os blocos correspondentes. Se o valor na variável não corresponder a nenhuma das constantes mencionadas acima, o bloco padrão será executado.

Na compilação, ele irá gerar o seguinte código JavaScript -

//Generated by typescript 1.8.10
var grade = "A";
switch (grade) {
   case "A": {
      console.log("Excellent");
      break;
   }
	
   case "B": {
      console.log("Good");
      break;
   }
	
   case "C": {
      console.log("Fair");
      break;
   }
	
   case "D": {
      console.log("Poor");
      break;
   }
	
   default: {
      console.log("Invalid choice");
      break;
   }
}

O código acima produzirá a seguinte saída -

Excellent