Skip to main content

Estructures de Control

Les estructures de control permeten que un programa prengui decisions dinàmicament. En JavaScript podem controlar el flux del codi amb:

  • if / else
  • switch
  • Operador ternari (? :)

if / else

S'utilitza per executar codi si es compleix una condició:

let edat = 20;

if (edat >= 18) {
console.log("Major d’edat");
} else {
console.log("Menor d’edat");
}

Amb condicions múltiples

if (nota >= 9) {
console.log("Excel·lent");
} else if (nota >= 7) {
console.log("Notable");
} else if (nota >= 5) {
console.log("Aprovat");
} else {
console.log("Suspès");
}

Bones pràctiques

  • Utilitza {} sempre, encara que sigui una sola línia.
  • Evita ifs massa llargs amb moltes condicions: potser switch o funcions et van millor.

Activitats amb if / else

  1. esPar(num) → retorna si és parell o senar.
  2. saluda(nom, rol) → si rol és "admin" saluda amb "Hola admin", si no, "Hola usuari".
  3. esMultiploDe5(num) → retorna true o false.
  4. categoriaEdat(edat) → mostra "nen", "adolescent", "adult", "sènior".
  5. calculadora(a, b, operacio) → suma, resta, multiplica o divideix.

Operador ternari

És una versió curta de l’if / else. Sintaxi:

condició ? valor_si_true : valor_si_false;

Exemple:

let accés = edat >= 18 ? "Permès" : "Denegat";

Nesting (evita'l si no és clar)

let nota = 6;
let resultat = nota < 5 ? "Suspès" : nota > 7 ? "Notable" : "Aprovat";

Activitats amb ternari

  1. descompte(clientVIP) → 30% si sí, 10% si no.
  2. esZero(num) → "Zero" o "No és zero"
  3. tipusUsuari(rol) → "Administrador" o "Usuari"

switch

Ideal per escollir entre múltiples valors d’una mateixa variable:

let dia = "dimarts";

switch (dia) {
case "dilluns":
console.log("Avui és dilluns");
break;
case "dimarts":
console.log("Avui és dimarts");
break;
default:
console.log("Dia no reconegut");
}

Sense break → continua executant següents case


Activitats amb switch

  1. diaSetmana(num) → retorna el dia (1–7)
  2. notaLletra(num) → retorna "A", "B", "C", "D", "F"
  3. tipusTransport(mitja) → "Cotxe", "Bus", "Bici", etc.
  4. colorSemafor(color) → "Passa", "Para", "Atenció"

Resum comparatiu

Característicaif / elseswitchternari
ComplexitatAlta (condicions múltiples)Clara per valors concretsBaixa (condicions simples)
LlegibilitatPot baixar amb molts elseBona amb valors conegutsBona si és simple
VersatilitatMolt altaNomés comparacions d’igualtatNomés expressions

Aquest capítol t’ajuda a triar entre estructures condicionals potents i llegibles, segons el tipus de lògica que necessitis!