Les declaracions switch en JavaScript són una manera eficient de gestionar múltiples condicions basades en el valor d'una expressió. Són una alternativa a les declaracions if-else if quan es treballa amb múltiples opcions que depenen del valor d'una variable.

Sintaxi Bàsica

La sintaxi d'una declaració switch és la següent:

switch (expressió) {
    case valor1:
        // Codi a executar si expressió === valor1
        break;
    case valor2:
        // Codi a executar si expressió === valor2
        break;
    // Pots afegir tants casos com necessitis
    default:
        // Codi a executar si cap dels casos anteriors coincideix
}

Explicació de la Sintaxi

  • expressió: És l'expressió que s'avalua una vegada i es compara amb els valors de cada cas.
  • case valor: Si expressió coincideix amb valor, s'executa el bloc de codi associat.
  • break: S'utilitza per sortir de la declaració switch una vegada que s'ha executat un cas. Si s'omet, el programa continuarà executant els següents casos fins que trobi un break o arribi al final de la declaració switch.
  • default: Opcional. S'executa si cap dels casos coincideix amb l'expressió.

Exemple Pràctic

Vegem un exemple pràctic per entendre millor com funcionen les declaracions switch:

let dia = 3;
let nomDia;

switch (dia) {
    case 1:
        nomDia = "Dilluns";
        break;
    case 2:
        nomDia = "Dimarts";
        break;
    case 3:
        nomDia = "Dimecres";
        break;
    case 4:
        nomDia = "Dijous";
        break;
    case 5:
        nomDia = "Divendres";
        break;
    case 6:
        nomDia = "Dissabte";
        break;
    case 7:
        nomDia = "Diumenge";
        break;
    default:
        nomDia = "Dia no vàlid";
}

console.log(nomDia); // Sortida: Dimecres

Explicació de l'Exemple

  1. Inicialització de la Variable: La variable dia s'inicialitza amb el valor 3.
  2. Declaració switch: La declaració switch avalua el valor de dia.
  3. Casos: Es compara dia amb cada cas. Quan dia és igual a 3, s'executa el bloc de codi associat (nomDia = "Dimecres";) i es trenca la declaració switch amb break.
  4. Sortida: El valor de nomDia és "Dimecres", que es mostra a la consola.

Exercicis Pràctics

Exercici 1

Escriu una funció getSeason que prengui un número de mes (1-12) i retorni la temporada corresponent ("Hivern", "Primavera", "Estiu", "Tardor").

function getSeason(mes) {
    let temporada;
    switch (mes) {
        case 12:
        case 1:
        case 2:
            temporada = "Hivern";
            break;
        case 3:
        case 4:
        case 5:
            temporada = "Primavera";
            break;
        case 6:
        case 7:
        case 8:
            temporada = "Estiu";
            break;
        case 9:
        case 10:
        case 11:
            temporada = "Tardor";
            break;
        default:
            temporada = "Mes no vàlid";
    }
    return temporada;
}

// Prova la funció
console.log(getSeason(3)); // Sortida: Primavera
console.log(getSeason(7)); // Sortida: Estiu
console.log(getSeason(11)); // Sortida: Tardor
console.log(getSeason(13)); // Sortida: Mes no vàlid

Exercici 2

Crea una funció getGrade que prengui una lletra de qualificació ('A', 'B', 'C', 'D', 'F') i retorni un missatge corresponent a la qualificació.

function getGrade(qualificacio) {
    let missatge;
    switch (qualificacio) {
        case 'A':
            missatge = "Excel·lent!";
            break;
        case 'B':
            missatge = "Molt bé!";
            break;
        case 'C':
            missatge = "Bé!";
            break;
        case 'D':
            missatge = "Necessita millorar.";
            break;
        case 'F':
            missatge = "Suspès.";
            break;
        default:
            missatge = "Qualificació no vàlida.";
    }
    return missatge;
}

// Prova la funció
console.log(getGrade('A')); // Sortida: Excel·lent!
console.log(getGrade('C')); // Sortida: Bé!
console.log(getGrade('E')); // Sortida: Qualificació no vàlida.

Errors Comuns

  1. Oblidar el break: Si oblides el break, el codi continuarà executant els següents casos fins que trobi un break o arribi al final de la declaració switch.
  2. No incloure un cas default: Tot i que és opcional, és una bona pràctica incloure un cas default per gestionar valors inesperats.
  3. Comparació estricta: La comparació en una declaració switch és estricta (===), així que assegura't que els tipus de dades coincideixin.

Resum

Les declaracions switch són una eina poderosa per gestionar múltiples condicions basades en el valor d'una expressió. Són especialment útils quan tens moltes opcions que depenen del valor d'una variable. Recorda utilitzar break per evitar l'execució de casos no desitjats i incloure un cas default per gestionar valors inesperats.

JavaScript: De Principiant a Avançat

Mòdul 1: Introducció a JavaScript

Mòdul 2: Estructures de Control

Mòdul 3: Funcions

Mòdul 4: Objectes i Arrays

Mòdul 5: Objectes i Funcions Avançades

Mòdul 6: El Model d'Objectes del Document (DOM)

Mòdul 7: APIs del Navegador i Temes Avançats

Mòdul 8: Proves i Depuració

Mòdul 9: Rendiment i Optimització

Mòdul 10: Frameworks i Llibreries de JavaScript

Mòdul 11: Projecte Final

© Copyright 2024. Tots els drets reservats