viernes, 27 de marzo de 2020

Estructuras condicionales con JavaScript

Las estructuras condicionales permiten ejecutar bloques de sentencias de código para una determinada condición, si esta no se cumple se puede optar por no realizar nada o llevar a cabo otro bloque de sentencias, de manera que no pueden ejecutarse ambos bloques, solo uno de ellos.
Ejemplo práctico: al ingresar nuestra contraseña de una red social, si es incorrecta no podemos ingresar, pero si es correcta ingresamos a nuestra cuenta.


Condicional IF ELSE Condicional SWITCH CASE
if (condicion1) {
   //Sentencias si 
   //Condicion1 es verdad
}else if (condicion2) {
   //Sentencias si 
   //Condicion2 es verdad
}else {
   //Sentencias si condicion1 y
   //condicion2 no son verdad
}
switch (expresión) {
case x :
   //Sentencias si expresión es "x"
   break;
case y :
   //Sentencias si expresión es "y"
   break;
default:
   //Sentencias para otros casos
}


Operador ternario

Cuando tenemos una estructura condicional simple no anidada y sin "else if", lo más óptimo es utilizar un operador ternario, hay que tener en cuenta que no debe ser usado a diestra y siniestra, solo en casos donde exista un retorno de valor.


Condicional if-else Condicional con operador ternario
/*Codicional clásico*/
if (condicion) {
   //Sentencias si 
   //Condicion es verdad
}else {
   //Sentencias si condicion
   //no son verdad
}
/*Codicional clásico*/
[variable u otro] (condicion) ?
   //Sentencias si 
   //Condicion es verdad
:
   //Sentencias si condicion
   //no son verdad 
;  // cerrar la sentencia al final


Ejemplo en consola

Supongamos que tenemos una función que debe validar la edad de una persona. Si es mayor o no de 20 años

function validar(edad){
    let salida;
    if(edad > 20){
        salida = "Mayor de 20 años";
    }else{
        salida = "Menor de 20 años";
    }
    return salida;
}

console.log(validar(10));
console.log(validar(30));

La salida será:

Menor de 20 años
Mayor de 20 años

Podemos simplificar el código empleando el operador ternario, recordando que su uso es principalmente en asignaciones o similares y donde se ejecuta código para el caso verdadero y falso

function validar(edad) {
    return (edad > 20) ? "Mayor de 20 años" : "Menor de 20 años";
}

console.log(validar(10));
console.log(validar(30));

La salida será:

Menor de 20 años
Mayor de 20 años

NOTA: los operadores ternarios se pueden anidar.

No hay comentarios:

Publicar un comentario