Estructuras de control

<< Operadores Funciones >>

Estructuras condicionales

Estructura if

La estructura if se comporta como en la mayoría de los lenguajes de programación. Lo que hace es evaluar una condición lógica, devolviendo un booleano como resultado y si es cierta, ejecuta el código que se encuentra dentro del bloque if. De forma optativa podemos añadir el bloque else if, y un bloque else.

let price = 65;

if(price < 50) {
    console.log("This is cheap!");
} else if (price < 100) {
    console.log("Not so cheap...");
} else {
    console.log("Too expensive!");
}

Operador ternario

También existe el operador ternario '?', que devuelve un valor u otro en función de una condición. Si la condición es cierta, devuelve el primer valor, y si es falsa, el segundo.

const socio = true;
const cuota = socio ? 50 : 100;
console.log(`Vas a pagar ${cuota}€`); // Vas a pagar 50€

Estructura switch

La estructura switch tiene un comportamiento similar al de otros lenguajes de programación. Como sabemos, se evalúa una variable y se ejecuta el bloque correspondiente al valor que tiene (puede ser número, string,..). Normalmente, se necesita poner la instrucción break al final de cada bloque, ya que de no ponerlo continuaría ejecutando las instrucciones del en el siguiente bloque. Un ejemplo donde dos valores ejecutarían el mismo bloque de código:

let userType = 1;

switch(userType) {
    case 1:
    case 2: // Tipos 1 y 2 entran aquí
        console.log("You can enter");
        break;
    case 3:
        console.log("You don't have enough permissions");
        break;
    default: // Ninguno de los anteriores
        console.error("Unknown user type!");
}

Estructuras iterativas (bucles)

Bucle while

Tenemos el bucle while que evalúa una condición y se repite una y otra vez hasta que la condición sea falsa (o si la condición es falsa desde un primer momento, no entra a realizar el bloque de instrucciones que contiene).

let value = 1;

while (value <= 5) { // prints 1 2 3 4 5
    console.log(value++);
}

Bucle for

En un bucle for puedes inicializar una o más variables y también ejecutar varias instrucciones de actualización (incremento, decremento) en cada iteración separándolas con comas.

let limit = 5;

for (let i = 1, j = limit; i <= limit && j > 0; i++, j--) {
    console.log(i + " - " + j);
}
/* Prints
1 - 5
2 - 4
3 - 3
4 - 2
5 - 1
*/

Break y continue

Dentro de un bucle, podemos usar las instrucciones de break y continue. La primera de ellas saldrá del bucle de forma inmediata tras ejecutarse, y la segunda, irá a la siguiente iteración saltándose el resto de instrucciones de la iteración actual (ejecuta el correspondiente incremento si estamos dentro de un bucle for).

<< Operadores Funciones >>