6/04/2011

Explicación de SWITCH y CASE en javascript

La estructura switch/case de Javascript nos permite evaluar el valor de una expresión para tomar una decisión en el flujo del ejecución. Es muy parecida a la estructura de control if/else pero con switch/case podemos evaluar más de dos casos.

Ejemplo de switch/case evaluando una variable cadena

  var variableAevaluar = "tres";
  switch (variableAevaluar) { 
    case "uno":
      log("Viene 1");
      break;
    case "dos":
      log("Viene 2");
      break;
    case "tres":
      log("Viene 3");
      break;
  }

En el ejemplo, como variableAevaluar tenía asignado el valor tres, el flujo de ejecución siguió por el case "tres":. Hay que tener especial atención en el uso de la sentencia break. Cuando esta se omite, la ejecución continuará por el resto de los case que tenga por debajo, hasta que alguno finalice con break, en general este no suele ser el comportamiento deseado.

Ejemplo de switch/case utilizando el label default

Análogamente a else, la sentencia switch puede utilizarse en conjunto con default:, etiqueta a la cual se entrará si la expresión evaluada no coincide con los case anteriores (o para ser más rigurosos, se entrará siempre a menos que un case haya hecho terminar prematuramente la ejecución del switch utilizando break;)

  var variableAevaluar = "NINGUNO";
  switch (variableAevaluar) { 
    case "uno":
      log("Viene 1");
      break;
    case "dos":
      log("Viene 2");
      break;
    case "tres":
      log("Viene 3");
      break;
    default: 
      error("El valor de variable es desconocido.");
      break;
  }

En la etiqueta default: suele ponerse código para el manejo de errores (valores insesperados del usuarios por ejemplo). El break en el último case o default (como en este caso), es opcional ya que no hay etiquetas que puedan seguir la ejecución, pero es buena práctica utilizarlo para dar uniformidad al código.

0 comentarios:

Juga al truco peronista