Les declaracions condicionals són una part fonamental de qualsevol llenguatge de programació, ja que permeten que el codi prengui decisions basades en certes condicions. En JavaScript, les declaracions condicionals més comunes són if
, else if
, else
i switch
.
- Declaració
if
if
La declaració if
s'utilitza per executar un bloc de codi només si una condició específica és certa.
Sintaxi
Exemple
En aquest exemple, el missatge "Ets major d'edat." només es mostrarà si la variable edat
és igual o superior a 18.
- Declaració
else
else
La declaració else
s'utilitza per executar un bloc de codi si la condició de l'if
és falsa.
Sintaxi
if (condició) { // bloc de codi a executar si la condició és certa } else { // bloc de codi a executar si la condició és falsa }
Exemple
let edat = 16; if (edat >= 18) { console.log("Ets major d'edat."); } else { console.log("Ets menor d'edat."); }
En aquest exemple, el missatge "Ets menor d'edat." es mostrarà perquè la variable edat
és inferior a 18.
- Declaració
else if
else if
La declaració else if
s'utilitza per especificar una nova condició si la primera condició és falsa.
Sintaxi
if (condició1) { // bloc de codi a executar si condició1 és certa } else if (condició2) { // bloc de codi a executar si condició2 és certa } else { // bloc de codi a executar si cap de les condicions anteriors és certa }
Exemple
let edat = 20; if (edat < 13) { console.log("Ets un nen."); } else if (edat < 20) { console.log("Ets un adolescent."); } else { console.log("Ets un adult."); }
En aquest exemple, el missatge "Ets un adult." es mostrarà perquè la variable edat
és igual o superior a 20.
- Declaració
switch
switch
La declaració switch
s'utilitza per executar un bloc de codi basat en el valor d'una expressió.
Sintaxi
switch (expressió) { case valor1: // bloc de codi a executar si expressió és igual a valor1 break; case valor2: // bloc de codi a executar si expressió és igual a valor2 break; default: // bloc de codi a executar si expressió no coincideix amb cap cas anterior }
Exemple
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 invàlid"; } console.log(nomDia); // Output: Dimecres
En aquest exemple, el valor de la variable dia
és 3, per tant, el missatge "Dimecres" es mostrarà.
Exercicis Pràctics
Exercici 1
Escriu una funció que prengui una nota (de 0 a 100) com a argument i retorni una qualificació basada en la següent escala:
- 90-100: A
- 80-89: B
- 70-79: C
- 60-69: D
- 0-59: F
Solució
function obtenirQualificacio(nota) { if (nota >= 90) { return 'A'; } else if (nota >= 80) { return 'B'; } else if (nota >= 70) { return 'C'; } else if (nota >= 60) { return 'D'; } else { return 'F'; } } console.log(obtenirQualificacio(85)); // Output: B
Exercici 2
Escriu una funció que prengui un número del 1 al 7 i retorni el nom del dia de la setmana corresponent.
Solució
function obtenirNomDia(dia) { switch (dia) { case 1: return "Dilluns"; case 2: return "Dimarts"; case 3: return "Dimecres"; case 4: return "Dijous"; case 5: return "Divendres"; case 6: return "Dissabte"; case 7: return "Diumenge"; default: return "Dia invàlid"; } } console.log(obtenirNomDia(5)); // Output: Divendres
Errors Comuns i Consells
-
Oblidar el
break
en una declaracióswitch
: Si oblides elbreak
, el codi continuarà executant els següents casos fins que trobi unbreak
o arribi al final de la declaracióswitch
.switch (dia) { case 1: nomDia = "Dilluns"; case 2: nomDia = "Dimarts"; break; // ... } // Això farà que "Dimarts" es mostri també per a `dia` igual a 1.
-
No utilitzar parèntesis correctament en les condicions: Assegura't que les condicions dins de les declaracions
if
estiguin correctament tancades amb parèntesis. -
No tenir en compte tots els casos possibles: Quan utilitzis
else if
oswitch
, assegura't de cobrir tots els casos possibles, incloent unelse
odefault
per gestionar els valors no esperats.
Conclusió
Les declaracions condicionals són essencials per controlar el flux del teu programa basat en diferents condicions. Amb if
, else if
, else
i switch
, pots gestionar una àmplia varietat de situacions i prendre decisions dinàmiques en el teu codi. Practica amb els exercicis proporcionats per consolidar la teva comprensió d'aquests conceptes.
JavaScript: De Principiant a Avançat
Mòdul 1: Introducció a JavaScript
- Què és JavaScript?
- Configuració del Teu Entorn de Desenvolupament
- El Teu Primer Programa en JavaScript
- Sintaxi i Conceptes Bàsics de JavaScript
- Variables i Tipus de Dades
- Operadors Bàsics
Mòdul 2: Estructures de Control
- Declaracions Condicionals
- Bucles: for, while, do-while
- Declaracions Switch
- Gestió d'Errors amb try-catch
Mòdul 3: Funcions
- Definició i Crida de Funcions
- Expressions de Funció i Funcions Fletxa
- Paràmetres i Valors de Retorn
- Àmbit i Tancaments
- Funcions d'Ordre Superior
Mòdul 4: Objectes i Arrays
- Introducció als Objectes
- Mètodes d'Objecte i Paraula Clau 'this'
- Arrays: Conceptes Bàsics i Mètodes
- Iteració sobre Arrays
- Desestructuració d'Arrays
Mòdul 5: Objectes i Funcions Avançades
- Prototips i Herència
- Classes i Programació Orientada a Objectes
- Mòduls i Importació/Exportació
- JavaScript Asíncron: Callbacks
- Promeses i Async/Await
Mòdul 6: El Model d'Objectes del Document (DOM)
- Introducció al DOM
- Selecció i Manipulació d'Elements del DOM
- Gestió d'Esdeveniments
- Creació i Eliminació d'Elements del DOM
- Gestió i Validació de Formularis
Mòdul 7: APIs del Navegador i Temes Avançats
- Emmagatzematge Local i de Sessió
- Fetch API i AJAX
- WebSockets
- Service Workers i Aplicacions Web Progressives (PWAs)
- Introducció a WebAssembly
Mòdul 8: Proves i Depuració
- Depuració de JavaScript
- Proves Unitàries amb Jest
- Proves d'Integració
- Proves de Cap a Cap amb Cypress
Mòdul 9: Rendiment i Optimització
- Optimització del Rendiment de JavaScript
- Gestió de Memòria
- Manipulació Eficient del DOM
- Càrrega Per Mandat i Divisió de Codi
Mòdul 10: Frameworks i Llibreries de JavaScript
- Introducció a React
- Gestió d'Estat amb Redux
- Conceptes Bàsics de Vue.js
- Conceptes Bàsics d'Angular
- Triar el Framework Adequat