
21 Mar Estructura condicional switch en Javascript
Ya hemos hablado de la sintaxis de la estructura condicional if(){}else if(){}else{}.
Hoy hablaremos de otra estructura condicional que puede ser muy práctica en muchas situaciones cuando conocemos el valor exacto que puede tomar una determinada variable.
Se trata de la estructura condicional switch(){}.
Ejemplo de uso de la estructura switch
En la imagen se muestra una función que dada una nota como parámetro de entrada en formato número entero (sin decimales) devuelve si se trata de un aprobado, un bien, un notable o un excelente.
Dentro de la función se usa la instrucción condicional switch.
Podréis observar que se evalúan todos los casos posibles y en base al valor se devuelve el resultado asignado a la variable notaTraducida.
Después de cada case podremos usar:
- break, hace que dejemos de evaluar casos.
- continue, continua evaluando todos los casos.
Si olvidáramos escribir case después una opción determinada, también ejecutaríamos la instrucción default. Con que la función tendría un resultado incierto.
Usaremos el switch() cuando el número de opciones sea finita

¿Cuando es más práctico el switch o el if?
El switch anterior presupone que siempre nos van a pasar una nota conocida y de tipo entero.
Esto puede puede resultar un problema si nos dieran una nota con decimales porqué en el case no podemos usar expresiones comparativas booleanes del tipo «entre 2 valores».
En este caso sería preferible un if(){}.
Sin embargo cuando los posibles valores son conocidos y muy concretos esta estructura condicional es realmente práctica.
Como pautas generales diremos que usaremos el if() cuando necesitamos del álgebra de Boole o cuando el número de casos sea suficiente grande como para justificar un if(){}
Si conocemos los posibles valores exactos y toda la casuística alrededor del valor de una variable entonces en muchas ocasiones la construcción switch(){} es la mejor.
No Comments