CoffeeScript - declaração switch

UMA switchdeclaração permite que uma variável seja testada quanto à igualdade em relação a uma lista de valores. Cada valor é chamado decase, e a variável que está sendo ligada é verificada para cada caso de switch. Aqui está a sintaxe deswitch em JavaScript.

switch (expression){
   case condition 1: statement(s)
   break;   
   
   case condition 2: statement(s)
   break;
      
   case condition n: statement(s)
   break;
   
   default: statement(s)
}

Em JavaScript, após cada caso de switch, temos que usar o breakdeclaração. Se esquecermos acidentalmente obreak declaração, então há uma chance de cair de um caso de switch para outro.

Instrução Switch no CoffeeScript

CoffeeScript resolve este problema usando a combinação de switch-when-elsecláusulas. Aqui temos uma expressão switch opcional seguida por instruções case.

Cada declaração de caso tem duas cláusulas when e then. owhen é seguido por condição e thené seguido pelo conjunto de instruções que devem ser executadas se essa condição particular for atendida. E, finalmente, temos o opcionalelse cláusula que mantém a ação para a condição padrão.

Sintaxe

Dada a seguir está a sintaxe do switchdeclaração no CoffeeScript. Especificamos a expressão sem parênteses e separamos as declarações case mantendo os recuos adequados.

switch expression
   when condition1 then statements
   when condition2 then statements
   when condition3 then statements
   else statements

Diagrama de fluxo

Exemplo

O exemplo a seguir demonstra o uso de switchdeclaração no CoffeeScript. Salve este código em um arquivo com o nomeswitch_example.coffee

name="Ramu"
score=75
message = switch 
   when score>=75 then "Congrats your grade is A"
   when score>=60 then "Your grade is B"
   when score>=50 then "Your grade is C"
   when score>=35 then "Your grade is D"
   else "Your grade is F and you are failed in the exam"
console.log message

Abra o command prompt e compilar o arquivo .coffee conforme mostrado abaixo.

c:\> coffee -c switch_exmple.coffee

Na compilação, ele fornece o seguinte JavaScript.

// Generated by CoffeeScript 1.10.0
(function() {
  var message, name, score;

  name = "Ramu";

  score = 75;

  message = (function() {
    switch (false) {
      case !(score >= 75):
        return "Congrats your grade is A";
      case !(score >= 60):
        return "Your grade is B";
      case !(score >= 50):
        return "Your grade is C";
      case !(score >= 35):
        return "Your grade is D";
      default:
        return "Your grade is F and you are failed in the exam";
    }
  })();

  console.log(message);

}).call(this);

Agora, abra o command prompt novamente e execute o arquivo CoffeeScript como -

c:\> coffee switch_exmple.coffee

Ao ser executado, o arquivo CoffeeScript produz a seguinte saída.

Congrats your grade is A

Vários valores para a cláusula when

Também podemos especificar vários valores para uma única cláusula when, separando-os com vírgulas (,) nos casos de troca.

Exemplo

O exemplo a seguir mostra como escrever uma instrução switch CoffeeScript especificando vários valores para o whencláusula. Salve este código em um arquivo com o nomeswitch_multiple_example.coffee

name="Ramu"
score=75
message = switch name
   when "Ramu","Mohammed" then "You have passed the examination with grade A"
   when "John","Julia" then "You have passed the examination with grade is B"
   when "Rajan" then "Sorry you failed in the examination"
   else "No result"
console.log message

Abra o command prompt e compilar o arquivo .coffee conforme mostrado abaixo.

c:\> coffee -c switch_multiple_example.coffee

Na compilação, ele fornece o seguinte JavaScript.

// Generated by CoffeeScript 1.10.0
(function() {
  var message, name, score;

  name = "Ramu";

  score = 75;

  message = (function() {
    switch (name) {
      case "Ramu":
      case "Mohammed":
        return "You have passed the examination with grade A";
      case "John":
      case "Julia":
        return "You have passed the examination with grade is B";
      case "Rajan":
        return "Sorry you failed in the examination";
      default:
        return "No result";
    }
  })();

  console.log(message);

}).call(this);

Agora, abra o command prompt novamente e execute o arquivo CoffeeScript conforme mostrado abaixo.

c:\> coffee switch_multiple_example.coffee

Ao ser executado, o arquivo CoffeeScript produz a seguinte saída.

You have passed the examination with grade A