Sentença switch ECMAScript

Instrução switch

A instrução switch é uma irmã da instrução if.

Os desenvolvedores podem usar a instrução switch para fornecer uma série de casos (case) para uma expressão.

A sintaxe da instrução switch:

switch (expression)
  case value: statement
    break;
  case value: statement
    break;
  case value: statement
    break;
  case value: statement
    break;
...
  case value: statement
    break;
  default: statement

Cada caso (case) representa “se”, expression igual a value,se statement

A palavra-chave break faz com que o código saia da sentença switch. Sem a palavra-chave break, a execução do código continuará para o próximo case.

A palavra-chave default indica a ação a ser tomada quando o resultado da expressão não coincide com nenhuma das situações (na verdade, é equivalente à cláusula else).

A sentença switch é principalmente para evitar que os desenvolvedores escrevam o seguinte código:

if (i == 20)
  alert("20");
else if (i == 30)
  alert("30");
else if (i == 40)
  alert("40");
else
  alert("outro");

A sentença switch equivalente é assim:

switch (i) {
  case 20: alert("20");
    break;
  case 30: alert("30");
    break;
  case 40: alert("40");
    break;
  default: alert("outro");
}

Sentença switch em ECMAScript e Java

A sentença switch em ECMAScript e Java tem duas diferenças. No ECMAScript, a sentença switch pode ser usada para strings e pode usar valores que não são constantes para descrever situações:

var BLUE = "blue", RED = "red", GREEN = "green";
switch (sColor) {
  case BLUE: alert("Azul");
    break;
  case RED: alert("Vermelho");
    break;
  case GREEN: alert("Verde");
    break;
  default: alert("Outro");
}

Aqui, a sentença switch é usada para a string sColor, a declaração case usa as variáveis BLUE, RED e GREEN, o que é completamente válido no ECMAScript.