Lección 5 · 5 de 20
if / else y el ternario · JavaScript
Tome decisiones en JavaScript con if, else if y else, y elija entre dos valores en una sola línea con el operador ternario.

`if` ejecuta un bloque, entre llaves { }, solo si la condición entre paréntesis es verdadera. Con grade >= 5 el programa decide si la nota es un aprobado; si no lo es, se ejecuta el bloque de `else`.
Para más de dos casos se encadenan `else if`. Las condiciones se comprueban de arriba abajo y solo se ejecuta la primera que se cumple: con temperature = 12, falla >= 30, falla >= 18 y acierta >= 5. El else final recoge todo lo demás.
El operador ternario condición ? valorSiSí : valorSiNo elige entre dos valores en una sola expresión. shipping vale 0 si la cesta llega a 50 euros y 4.95 si no.
Como es una expresión, el ternario cabe dentro de una plantilla: ${items === 1 ? "item" : "items"} pone la palabra en singular o en plural. === significa «es igual a»; lo verá con detalle en la lección siguiente.
Use if cuando haya que hacer cosas distintas y el ternario cuando solo cambie un valor. Para condiciones largas, el if se lee mejor.
Código · main.js
// if runs a block only when its condition is true.const grade = 7.5;if (grade >= 5) { console.log(`Grade ${grade}: passed`);} else { console.log(`Grade ${grade}: failed`);}// else if checks conditions in order; the first true one wins.const temperature = 12;if (temperature >= 30) { console.log("Hot: drink plenty of water");} else if (temperature >= 18) { console.log("Mild: perfect for a walk");} else if (temperature >= 5) { console.log("Cool: take a jacket");} else { console.log("Cold: better stay indoors");}// The ternary operator: condition ? valueIfTrue : valueIfFalseconst basketTotal = 42;const shipping = basketTotal >= 50 ? 0 : 4.95;console.log(`Basket: ${basketTotal} euros | Shipping: ${shipping} euros`);const items = 1;console.log(`${items} ${items === 1 ? "item" : "items"} in the basket`);const lives = 0;console.log(lives > 0 ? "Keep playing" : "Game over");Salida · node main.js
Grade 7.5: passed Cool: take a jacket Basket: 42 euros | Shipping: 4.95 euros 1 item in the basket Game over
Para recordar
ifejecuta su bloque solo si la condición es verdadera.else ifencadena casos; gana el primero que se cumple.condición ? a : bdevuelveaob.- Los comparadores básicos:
>,<,>=,<=,===.
Ejercicio
Añada una variable speed y escriba «Too slow» por debajo de 60, «OK» hasta 120 y «Too fast» por encima, y con un ternario «free shipping» o «paid shipping» según basketTotal.