STRUTTURE CONDIZIONALI

Javascript come altri linguaggi mette a disposizione le strutture condizionali. Il condizionale è sempre presente nella vita di tutti i giorni, analizziamo la seguente frase che può essere vera o falsa come mostrato nell’immagine sotto riportata.

Struttura Condizionale

Le “strutture condizionali in javascriptsono istruzioni che vengono utilizzate per eseguire diverse azioni in base a condizioni diverse. Molto spesso, quando si scrive codice, si desidera eseguire azioni diverse per decisioni diverse. È possibile utilizzare le istruzioni condizionali nel codice per eseguire questa operazione. In JavaScript abbiamo le seguenti affermazioni condizionali:

  • Utilizzare if per specificare un blocco di codice da eseguire, se una condizione specificata è vera
  • Utilizzare else per specificare un blocco di codice da eseguire, se la stessa condizione è falsa
  • Utilizzare else if per specificare una o n nuove condizioni da verificare, se la prima condizione è falsa
  • Utilizzare switch per specificare molti blocchi di codice alternativi da eseguire

LO STATEMENT IF

Utilizzare l’istruzione if per specificare un blocco di codice JavaScript da eseguire se una condizione è vera.

if (condition) {
  // blocco di codice da eseguire se la condizione è vera
}

Nota che if è in lettere minuscole. Le lettere maiuscole (If o IF) genereranno un errore JavaScript.

let saluto;

if (new Date().getHours()18) {
  saluto= “Buona giornata”;
}

LO STATEMENT ELSE

Utilizzare l’istruzione else per specificare un blocco di codice da eseguire se la condizione è falsa.

if (condition) {
  // blocco di codice da eseguire se la condizione è vera
else {

  // blocco di codice da eseguire se la condizione è falsa
}

let saluto;

if (new Date().getHours() < 18) {
  saluto= “Buona giornata”;
}

else{

  saluto= “Buona serata”;

}

LO STATEMENT ELSE IF

Utilizzare l’istruzione else if per specificare una nuova condizione se la prima condizione è falsa.

if (condition1) {
  // blocco di codice da eseguire se condizione1 è vera
else if (condition2) {

  // blocco di codice da eseguire se la condizione1 è falsa e la condizione2 è vera
else {
  // blocco di codice da eseguire se la condizione1 è falsa e la condizione2 è falsa
}

const time = new Date().getHours();

let saluto;

if (time < 10) {

  saluto= “Buon giorno”;

} else if (time < 20) {

  saluto= “Buona giornata”;

} else {

  saluto= “Buona serata”;

}

Si possono specificare n istruzioni else if in base alle necessità tuttavia avere molte istruzioni else if peggiora la leggibilità del codice. E’ preferibile in queste situazioni utilizzare lo statement switch.

SWITCH STATEMENT

L’istruzione switch viene utilizzata per eseguire diverse azioni in base a condizioni diverse. Utilizzare l’istruzione switch per selezionare uno dei blocchi di codice da eseguire.

switch(expression) {
  case x:
    // code block
    break;

  case y:
    // code block
    break;

  default:
    // code block
}

L’espressione switch viene valutata una volta.

  • Il valore dell’espressione viene confrontato con i valori di ciascun case.
  • Se c’è una corrispondenza, viene eseguito il blocco di codice associato.
  • Se non c’è corrispondenza, viene eseguito il blocco di codice di default.

Il metodo getDay() restituisce il giorno della settimana come un numero compreso tra 0 e 6.

(Domenica=0, Lunedì=1, Martedì=2 …)

Questo esempio utilizza il numero del giorno della settimana per calcolare il nome del giorno della settimana:

let giorno;

switch (new Date().getDay()) {
  case 0:
    giorno= “Domenica”; break;
  case 1:
    giorno= “Lunedì”; break;
  case 2:
     giorno = “Martedì”; break;
  case 3:
    giorno= “Mercoledì”; break;
  case 4:
    giorno= “Giovedì”; break;
  case 5:
    giorno= “Venerdì”; break;
  case 6:
    giorno= “Sabato”;
}

LA KEYWORD BREAK

Quando JavaScript trova la parola chiave break, significa che ha trovato corrispondenza, ed esce dal blocco switch. Ciò interromperà l’esecuzione al suo interno. Non è necessario il break sull’ultimo case. Il blocco finisce comunque lì.

Nota: se si omette l’istruzione break, il case successivo verrà eseguito anche se la valutazione non corrisponde al case.

 La parola chiave default specifica il codice da eseguire se non c’è corrispondenza nei case:

let text;

switch (new Date().getDay()) {
  case 6:
    text = “Oggi è sabato”;
    break;
  case 0:
    text = “Oggi è domenica”;
    break;
  default:
    text = “In attesa del fine settimana”;
}

A volte si desidera che diversi switch case utilizzino lo stesso codice. Nell’esempio 4 e 5 condividono lo stesso blocco di codice e 0 e 6 condividono un altro blocco di codice:

let text;

switch (new Date().getDay()) {
  case 4:
  case 5:
    text = “Presto è il fine settimana”; break;
  case 0:
  case 6:
    text = “È il fine settimana”; break;
  default:
    text = “In attesa del fine settimana”;
}

Se non vengono trovati case corrispondenti, il programma continua con l’etichetta default. Se non viene trovata alcuna etichetta default, il programma continua con le istruzioni dopo lo switch. L’istruzione switch utilizza il confronto rigoroso (===). I valori devono essere dello stesso tipo per corrispondere. Un confronto rigoroso può essere vero solo se gli operandi sono dello stesso tipo. In questo esempio non ci sarà corrispondenza per x:

let x = “0”;

let text;

switch (x) {
  case 0:
    text = “Off”; break;
  case 1:
    text = “On”; break;
  default:
    text = “Nessun valore trovato”;
}

Copy to Clipboard
Copy to Clipboard

LINK AI POST PRECEDENTI

IL LINGUAGGIO JAVASCRIPT

LINK AL CODICE SU GITHUB

GITHUB