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