TypeScript - Cambia ... istruzione case

Il switch istruzione valuta un'espressione, abbina il valore dell'espressione a una clausola case ed esegue le istruzioni associate a quel caso.

Sintassi

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

Il valore di variable_expression viene verificato rispetto a tutti i casi nello switch. Se la variabile corrisponde a uno dei casi, viene eseguito il blocco di codice corrispondente. Se nessuna espressione case corrisponde al valore di variable_expression, viene associato il codice all'interno del blocco predefinito.

Le seguenti regole si applicano a un'istruzione switch:

  • Può esserci un numero qualsiasi di istruzioni case all'interno di uno switch.

  • Le istruzioni case possono includere solo costanti. Non può essere una variabile o un'espressione.

  • Il tipo di dati di variable_expression e di espressione costante devono corrispondere.

  • A meno che non si inserisca un'interruzione dopo ogni blocco di codice, l'esecuzione fluisce nel blocco successivo.

  • L'espressione case deve essere univoca.

  • Il blocco predefinito è facoltativo.

Diagramma di flusso

Esempio: 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;              
   } 
}

L'esempio verifica il valore del grado variabile rispetto all'insieme di costanti (A, B, C, D ed E) ed esegue i blocchi corrispondenti. Se il valore nella variabile non corrisponde a nessuna delle costanti menzionate sopra, verrà eseguito il blocco predefinito.

Durante la compilazione, genererà il seguente codice 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;
   }
}

Il codice precedente produrrà il seguente output:

Excellent