CoffeeScript - declaración de cambio

UNA switchLa declaración permite probar la igualdad de una variable con una lista de valores. Cada valor se llamacase, y la variable que se enciende se verifica para cada caso de interruptor. Aquí está la sintaxis deswitch en JavaScript.

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

En JavaScript, después de cada caso de cambio, tenemos que usar el breakdeclaración. Si olvidamos accidentalmente elbreak declaración, entonces existe la posibilidad de pasar de un caso de interruptor a otro.

Instrucción Switch en CoffeeScript

CoffeeScript resuelve este problema utilizando la combinación de switch-when-elsecláusulas. Aquí tenemos una expresión de cambio opcional seguida de declaraciones de casos.

Cada declaración de caso tiene dos cláusulas when y then. loswhen va seguido de la condición y thenva seguido del conjunto de sentencias que se ejecutarán si se cumple esa condición particular. Y finalmente, tenemos el opcionalelse cláusula que contiene la acción para la condición predeterminada.

Sintaxis

A continuación se muestra la sintaxis de la switchdeclaración en CoffeeScript. Especificamos la expresión sin paréntesis y separamos las declaraciones de casos manteniendo las sangrías adecuadas.

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

Diagrama de flujo

Ejemplo

El siguiente ejemplo demuestra el uso de switchdeclaración en CoffeeScript. Guarde este código en un archivo con nombreswitch_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

Abre el command prompt y compile el archivo .coffee como se muestra a continuación.

c:\> coffee -c switch_exmple.coffee

Al compilar, le da el siguiente 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);

Ahora, abre el command prompt nuevamente y ejecute el archivo CoffeeScript como -

c:\> coffee switch_exmple.coffee

Al ejecutarse, el archivo CoffeeScript produce la siguiente salida.

Congrats your grade is A

Múltiples valores para la cláusula when

También podemos especificar varios valores para una sola cláusula when separándolos con comas (,) en las cajas de interruptores.

Ejemplo

El siguiente ejemplo muestra cómo escribir una declaración de cambio CoffeeScript especificando varios valores para el whencláusula. Guarde este código en un archivo con nombreswitch_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

Abre el command prompt y compile el archivo .coffee como se muestra a continuación.

c:\> coffee -c switch_multiple_example.coffee

Al compilar, le da el siguiente 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);

Ahora, abre el command prompt nuevamente y ejecute el archivo CoffeeScript como se muestra a continuación.

c:\> coffee switch_multiple_example.coffee

Al ejecutarse, el archivo CoffeeScript produce la siguiente salida.

You have passed the examination with grade A