Saltar al contenido principal
eLearner.app
Módulo 1 · Lección 4 de 44/32 en el curso~10 min
Lecciones del módulo (4/4)

Condicionales: if, else, ternario

Casi nunca un programa ejecuta todas sus instrucciones una tras otra. Constantemente debe decidir: si el precio está por debajo del umbral, aplica el descuento; si el usuario ha iniciado sesión, muestra el panel; de lo contrario, muestra el inicio de sesión. Las instrucciones que sirven para tomar decisiones se denominan condicionales.

if / else

La forma básica es if (condizione) { … } else { … }:

JS
const eta = 20;

if (eta >= 18) {
  console.log('Maggiorenne');
} else {
  console.log('Minorenne');
}

La condición entre paréntesis es evaluada; si es "verdadera" (en JS se dice truthy) se ejecuta el primer bloque, de lo contrario, el segundo.

Cadenas else if

Cuando los casos son más de dos, se concatenan con else if:

Code
const punti = 87;
if (punti >= 90) {
  console.log('Eccellente');
} else if (punti >= 70) {
  console.log('Buono');
} else if (punti >= 50) {
  console.log('Sufficiente');
} else {
  console.log('Da migliorare');
}

Solo el primer ramo que coincida será ejecutado.

Truthy y falsy

JS considera "falsy" a seis valores: false, 0, '' (cadena de texto vacía), null, undefined, NaN. Todo lo demás es truthy — incluso '0', 'false' y el array vacío [].

JS
if ('0') console.log('arriva qui'); // 'arriva qui'
if ([]) console.log('e anche qui'); // 'e anche qui'
if (0) console.log('mai'); // (mai)

El operador ternario cond ? a : b

Cuando un if/else produce únicamente un valor, el ternario lo expresa en una sola línea y a menudo es más legible:

JS
const eta = 20;
const stato = eta >= 18 ? 'adulto' : 'minorenne';

Pruébalo tú mismo

Ejercicio#js.m1.l4.e1
Intentos: 0Cargando...

Dado un voto de 0 a 10, devuelve 'promosso' si el voto es >= 6, de lo contrario 'bocciato'. La última expresión debe evaluar a 'promosso' con grade = 7.

Cargando editor...
Mostrar pista

Usa el ternario `cond ? a : b` como última expresión.

Solución disponible después de 3 intentos

Ejercicio de repaso

Ejercicio#js.m1.l4.e2
Intentos: 0Cargando...

Clasifica una temperatura: 'caldo' si >= 25, 'tiepido' si >= 15, 'freddo' de lo contrario. Con `t = 20` el resultado esperado es 'tiepido'.

Cargando editor...
Mostrar pista

Puedes anidar los ternarios: `a >= 25 ? 'caldo' : a >= 15 ? 'tiepido' : 'freddo'`.

Solución disponible después de 3 intentos