CONTATTACI

Guide per aspiranti programmatori

Lezione 13 / 23

Flusso condizionale: If in JavaScript

Le istruzioni di un programma vengono eseguite in piccole sezioni il cui flusso viene controllato in vari modi. Il primo di questi si genera quando si verifica una condizione, con le istruzioni if…else, if else if e switch.
Non sempre il software va eseguito. Esistono molti casi nei quali una parte va eseguita solo al verificarsi di determinate condizioni. Queste alternative cambiano il flusso di esecuzione, secondo un modello che viene chiamato “esecuzione condizionale”. 

In quasi tutti i linguaggi di programmazione ad alto livello esiste la parola chiave if…else. Il linguaggio JavaScript non fa eccezione! Se si verifica una condizione si esegue la parte successiva all’if, altrimenti la parte contrassegnata da else. L’else non è obbligatorio: può essere che ci sia solo la sezione indicata dopo l’if. 

Javascript if elseif

La differenza principale tra l’istruzione “if else” e l’istruzione “if else if” sta nel modo in cui vengono valutate le condizioni e gestiti i percorsi di esecuzione.

Nell’istruzione “if else”, viene valutata una singola condizione “if”. Se questa condizione risulta vera, viene eseguito il blocco di codice associato all’istruzione “if”. Se la condizione risulta falsa, viene eseguito il blocco di codice associato all’istruzione “else”. In sostanza, l’istruzione “if else” offre solo due possibilità di esecuzione: una per la condizione “if” vera e una per la condizione “if” falsa.

D’altra parte, l’istruzione “if else if” consente di valutare una serie di condizioni alternative. Viene valutata la condizione dell’istruzione “if”. Se questa condizione risulta vera, viene eseguito il blocco di codice associato all’istruzione “if”. Se la condizione “if” risulta falsa, il programma passa alla valutazione della condizione dell’istruzione “else if” successiva e così via. Questo processo continua fino a quando viene trovata una condizione vera o fino a quando non si raggiunge un’istruzione “else” finale. L’istruzione “else” gestisce tutti i casi non coperti dalle condizioni precedenti.

In sostanza, l’utilizzo dell’istruzione “if else if” consente di gestire una serie di condizioni alternative in modo più dettagliato e flessibile rispetto all’istruzione “if else”, che offre solo due possibilità di esecuzione.

 

Facciamo un esempio con entrambe le sezioni di codice, then ed else. Un sistema contabile regola con una carta di credito le spese fino a 50 euro e con bonifico quelle oltre 50 euro. Il sistema chiede ad un operatore di immettere la cifra.

let Spesa = Number(prompt("Quale spesa dobbiamo analizzare?"));

if (Spesa <= 50) {
  console.log(Spesa +" - " + "Paga con carta di credito");
}

else {

console.log(Spesa + " - " + "Paga con bonifico");

}

Come hai visto, le vere azioni necessarie a fare i pagamenti sono state sostituite da semplici scritte sulla console. La parte saliente è vedere cosa succede a seconda che la cifra sia maggiore o minore della soglia.

Se eseguirai il codice, avrai questo risultato:

 

Ecco l’uscita con un numero inferiore a 50 ed uno superiore a 50.

 

Gli else possono essere usati per situazioni più complesse. Qui di seguito, ecco il codice necessario per tre fasce di pagamento, affidate a tre strumenti diversi.

let Spesa = Number(prompt("Quale spesa dobbiamo analizzare?"));

if (Spesa <= 50) {
  console.log(Spesa +" - " + "Paga con carta di debito");
} else if (Spesa < 300) {

console.log(Spesa +" - " + "Paga con carta di credito");
} else {

console.log(Spesa + " - " + "Paga con bonifico");

}

Come puoi notare, abbiamo, nell’esempio, una condizione di javascript else if per gestire una situazione un pelo più articolata; la logica di base, tuttavia, è la medesima. Vediamolo più nel dettaglio.

 

JavaScript else if

Il costrutto “else if” è un’estensione del classico costrutto “if” in JavaScript. Consente di specificare una condizione aggiuntiva da valutare nel caso in cui la condizione dell'”if” precedente risulti falsa. In altre parole, quando la condizione dell'”if” non viene soddisfatta, il programma può passare a valutare la condizione dell'”else if”. Se la condizione dell'”else if” è vera, il blocco di codice associato viene eseguito. Altrimenti, è possibile definire ulteriori blocchi “else if” o, se necessario, un blocco “else” finale per catturare tutti gli altri casi non gestiti.

Sintassi del costrutto “else if”:
La sintassi del costrutto “else if” in JavaScript è la seguente:

if (condizione1) {
 // blocco di codice da eseguire se condizione1 è vera
} else if (condizione2) {
 // blocco di codice da eseguire se condizione2 è vera
} else if (condizione3) {
 // blocco di codice da eseguire se condizione3 è vera
} else {
 // blocco di codice da eseguire se nessuna delle condizioni precedenti è vera
}

Esempio di utilizzo
Per comprendere meglio come funziona il costrutto “else if” in JavaScript, consideriamo un esempio pratico:

var punteggio = 80;

if (punteggio >= 90) {
 console.log("Hai ottenuto un voto eccellente!");
} else if (punteggio >= 80) {
 console.log("Hai ottenuto un voto molto buono!");
} else if (punteggio >= 70) {
 console.log("Hai ottenuto un voto sufficiente.");
} else {
 console.log("Hai bisogno di migliorare il tuo punteggio.");
}

In questo esempio, stiamo valutando il punteggio di un esame e forniamo un feedback diverso in base al range di punteggi ottenuto. Se il punteggio è superiore o uguale a 90, viene stampato il messaggio “Hai ottenuto un voto eccellente!”. Se la condizione precedente non viene soddisfatta, il programma passa a valutare la condizione successiva e così via.

 

Switch in Javascript

Lo switch statement è un’altra struttura di controllo di flusso presente in JavaScript che consente di eseguire diverse azioni in base al valore di una singola espressione. Lo switch è particolarmente utile quando si ha una serie di condizioni da valutare in cui ogni condizione corrisponde a un valore specifico.

Sintassi dello switch:
La sintassi generale dello switch statement in JavaScript è la seguente:

switch (espressione) {
  case valore1:
    // blocco di codice da eseguire se l'espressione corrisponde a valore1
    break;
  case valore2:
    // blocco di codice da eseguire se l'espressione corrisponde a valore2
    break;
  case valore3:
    // blocco di codice da eseguire se l'espressione corrisponde a valore3
    break;
  default:
    // blocco di codice da eseguire se nessuna delle condizioni precedenti corrisponde
}

Funzionamento dello switch

Quando viene valutata un’espressione nello switch statement, JavaScript cerca corrispondenze tra il valore dell’espressione e i vari casi (case) definiti all’interno dello switch. Se viene trovata una corrispondenza, il blocco di codice associato a quel caso viene eseguito. Dopo l’esecuzione di un caso, è importante utilizzare l’istruzione “break” per uscire dallo switch e evitare che vengano eseguiti anche i blocchi dei casi successivi.

Se nessun caso corrisponde al valore dell’espressione, viene eseguito il blocco di codice definito all’interno dell’istruzione “default” (opzionale). L’istruzione “default” viene utilizzata per gestire tutti i casi che non sono coperti dai casi precedenti.

 

Esempio di utilizzo dello switch

Consideriamo un esempio in cui utilizziamo lo switch statement per valutare il giorno della settimana:

var giorno = 2;
var nomeGiorno;

switch (giorno) {
  case 1:
    nomeGiorno = "Lunedì";
    break;
  case 2:
    nomeGiorno = "Martedì";
    break;
  case 3:
    nomeGiorno = "Mercoledì";
    break;
  case 4:
    nomeGiorno = "Giovedì";
    break;
  case 5:
    nomeGiorno = "Venerdì";
    break;
  default:
    nomeGiorno = "Fine settimana";
}

console.log("Oggi è " + nomeGiorno);

In questo esempio, l’espressione “giorno” viene valutata all’interno dello switch. Se il valore di “giorno” corrisponde a uno dei casi definiti, viene assegnato il nome del giorno corrispondente alla variabile “nomeGiorno”. Nel caso in cui “giorno” non corrisponda a nessuno dei casi precedenti, viene assegnata la stringa “Fine settimana”. Infine, viene visualizzato il messaggio con il nome del giorno corrente.

Come avrai capito, lo switch statement in JavaScript è una struttura di controllo di flusso utile per valutare diverse condizioni in base al valore di un’espressione. Offre un’alternativa leggibile e compatta all’utilizzo di più istruzioni “if else if”. Utilizzando lo switch, è possibile gestire una serie di casi specifici e definire un caso predefinito per gestire le situazioni non coperte dai casi precedenti.

Contattaci senza impegno per informazioni sul corso

Pagamento rateale

Valore della rata: A PARTIRE DA 115 €/mese.

Esempio di finanziamento 

Importo finanziato: € 2440 in 24 rate da € 115 – TAN fisso 9,55% TAEG 12,57% – importo totale del credito € 2841.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

*In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Pagamento rateale

Valore della rata: A PARTIRE DA 210 €/mese.

Esempio di finanziamento  

Importo finanziato: € 4500 in 24 rate da € 210,03 – TAN fisso 9,68% TAEG 11,97% – importo totale del credito € 5146,55.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

* In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Contattaci senza impegno per informazioni sul corso

Scopriamo insieme se i nostri corsi fanno per te. Compila il form e aspetta la chiamata di uno dei nostri consulenti.