Skip to content

30 Days Of JavaScript: Condizionali

Twitter Follow Autore: Asabeneh Yetayeh
Gennaio, 2020

<< Day 3 | Day 5 >>

Thirty Days Of JavaScript

📔 Giorno 4

Condizionali

Le istruzioni condizionali sono utilizzate per prendere decisioni in base a diverse condizioni. Per impostazione predefinita, le istruzioni negli script JavaScript vengono eseguite in sequenza dall'alto verso il basso. Se la logica di elaborazione lo richiede, il flusso sequenziale di esecuzione può essere modificato in due modi:

  • Esecuzione condizionale: un blocco di una o più istruzioni viene eseguito se una certa espressione è vera.
  • Esecuzione ripetitiva: un blocco di una o più istruzioni verrà eseguito ripetutamente finché una certa espressione sarà vera. In questa sezione tratteremo gli enunciati if, else, else if. Gli operatori di confronto e logici appresi nelle sezioni precedenti saranno utili in questa sede.

Le condizioni possono essere implementate nei seguenti modi:

  • if
  • if else
  • if else if else
  • switch
  • ternary operator

If

In JavaScript e in altri linguaggi di programmazione la parola chiave if serve a verificare se una condizione è vera e a eseguire il blocco di codice. Per creare una condizione if, abbiamo bisogno della parola chiave if, della condizione all'interno di una parentesi e del blocco di codice all'interno di una parentesi graffa ({}).

// syntax
if (condition) {
  //this part of code runs for truthy condition
}

Esempio:

let num = 3
if (num > 0) {
  console.log(`${num} is a positive number`)
}
//  3 is a positive number

Come si può vedere nell'esempio di condizione precedente, 3 è maggiore di 0, quindi è un numero positivo. La condizione era vera e il blocco di codice è stato eseguito. Tuttavia, se la condizione è falsa, non si vedrà alcun risultato.

let isRaining = true
if (isRaining) {
  console.log('Remember to take your rain coat.')
}

Lo stesso vale per la seconda condizione: se isRaining è false, il blocco if non verrà eseguito e non vedremo alcun output. Per vedere il risultato di una condizione falsa, dovremmo avere un altro blocco, che sarà else.

If Else

Se la condizione è vera, viene eseguito il primo blocco, altrimenti viene eseguita la condizione else.

// syntax
if (condition) {
  // this part of code runs for truthy condition
} else {
  // this part of code runs for false condition
}
let num = 3
if (num > 0) {
  console.log(`${num} is a positive number`)
} else {
  console.log(`${num} is a negative number`)
}
//  3 is a positive number

num = -3
if (num > 0) {
  console.log(`${num} is a positive number`)
} else {
  console.log(`${num} is a negative number`)
}
//  -3 is a negative number
let isRaining = true
if (isRaining) {
  console.log('You need a rain coat.')
} else {
  console.log('No need for a rain coat.')
}
// You need a rain coat.

isRaining = false
if (isRaining) {
  console.log('You need a rain coat.')
} else {
  console.log('No need for a rain coat.')
}
// No need for a rain coat.

L'ultima condizione è falsa, quindi il blocco else è stato eseguito. Cosa succede se abbiamo più di due condizioni? In questo caso, utilizzeremo le condizioni else if.

If Else if Else

Nella nostra vita quotidiana prendiamo decisioni su base giornaliera. Le decisioni non vengono prese verificando una o due condizioni, ma sulla base di più condizioni. Come la nostra vita quotidiana, anche la programmazione è piena di condizioni. Usiamo else if quando abbiamo più condizioni.

// syntax
if (condition) {
     // code
} else if (condition) {
   // code
} else {
    //  code

}

Esempio:

let a = 0
if (a > 0) {
  console.log(`${a} is a positive number`)
} else if (a < 0) {
  console.log(`${a} is a negative number`)
} else if (a == 0) {
  console.log(`${a} is zero`)
} else {
  console.log(`${a} is not a number`)
}
// if else if else
let weather = 'sunny'
if (weather === 'rainy') {
  console.log('You need a rain coat.')
} else if (weather === 'cloudy') {
  console.log('It might be cold, you need a jacket.')
} else if (weather === 'sunny') {
  console.log('Go out freely.')
} else {
  console.log('No need for rain coat.')
}

Switch

Switch è un'alternativa a if else if else. L'istruzione switch inizia con la parola chiave switch seguita da una parentesi e da un blocco di codice. All'interno del blocco di codice avremo diversi casi. Il blocco Case viene eseguito se il valore nella parentesi dell'istruzione switch corrisponde al valore del caso. L'istruzione break serve a terminare l'esecuzione, in modo che l'esecuzione del codice non venga interrotta dopo che la condizione è stata soddisfatta. Il blocco default viene eseguito se tutti i casi non soddisfano la condizione.

switch(caseValue){
  case 1:
    // code
    break
  case 2:
   // code
   break
  case 3:
   // code
   break
  default:
   // code
}
let weather = 'cloudy'
switch (weather) {
  case 'rainy':
    console.log('You need a rain coat.')
    break
  case 'cloudy':
    console.log('It might be cold, you need a jacket.')
    break
  case 'sunny':
    console.log('Go out freely.')
    break
  default:
    console.log(' No need for rain coat.')
}

// Switch More Examples
let dayUserInput = prompt('What day is today ?')
let day = dayUserInput.toLowerCase()

switch (day) {
  case 'monday':
    console.log('Today is Monday')
    break
  case 'tuesday':
    console.log('Today is Tuesday')
    break
  case 'wednesday':
    console.log('Today is Wednesday')
    break
  case 'thursday':
    console.log('Today is Thursday')
    break
  case 'friday':
    console.log('Today is Friday')
    break
  case 'saturday':
    console.log('Today is Saturday')
    break
  case 'sunday':
    console.log('Today is Sunday')
    break
  default:
    console.log('It is not a week day.')
}

// Esempi di utilizzo delle condizioni nei casi

let num = prompt('Enter number');
switch (true) {
  case num > 0:
    console.log('Number is positive');
    break;
  case num == 0:
    console.log('Numbers is zero');
    break;
  case num < 0:
    console.log('Number is negative');
    break;
  default:
    console.log('Entered value was not a number');
}

Operatori Ternari

Un altro modo di scrivere i condizionali è quello di utilizzare gli operatori ternari. Ne abbiamo parlato in altre sezioni, ma è bene menzionarlo anche qui.

let isRaining = true
isRaining
  ? console.log('You need a rain coat.')
  : console.log('No need for a rain coat.')

🌕 sei straordinario e hai un potenziale notevole. Hai appena completato le sfide del quarto giorno e sei quattro passi avanti sulla strada della grandezza. Ora fai qualche esercizio per il cervello e i muscoli.

💻 Esercizi

Esercizi: Livello 1

  1. Ottenere l'input dell'utente tramite prompt("Inserisci la tua età:"). Se l'utente ha 18 anni o più, fornisce il feedback: "Sei abbastanza grande per guidare", ma se non ha 18 anni, fornisce un altro feedback che indica di aspettare il numero di anni necessari per compierli.
Inserisci la tua età: 30
Sei abbastanza grande per guidare.

Inserisci la tua età: 15
Ti restano 3 anni per guidare.
  1. Confrontare i valori di myAge e yourAge usando if ... else. Basarsi sul confronto e registrare il risultato nella console, indicando chi è più vecchio (io o tu). Utilizzare prompt("Inserisci la tua età:") per ottenere l'età come input.
Inserisci la tua età: 30
Sei più vecchio di me di 5 anni.
  1. Se a è maggiore di b restituisce 'a è maggiore di b' altrimenti 'a è minore di b'. Provate a implementarlo in diversi modi

    • usando if else
    • l'operatore ternario.
      lasciare a = 4
      lasciare che b = 3
    

    ``sh 4 è maggiore di 3 ```

  2. I numeri pari sono divisibili per 2 e il resto è zero. Come si fa a verificare se un numero è pari o no usando JavaScript?

    Inserite un numero: 2
    2 è un numero pari
    
    Inserite un numero: 9
    9 è un numero dispari.
    

Esercizi: Livello 2

  1. Scrivere un codice in grado di dare voti agli studenti in base ai loro punteggi:
  2. 80-100, A
  3. 70-89, B
  4. 60-69, C
  5. 50-59, D
  6. 0-49, F
  7. Controllare se la stagione è autunno, inverno, primavera o estate. Se l'input dell'utente è :
  8. Settembre, Ottobre o Novembre, la stagione è Autunno.
  9. Dicembre, gennaio o febbraio, la stagione è Inverno.
  10. Marzo, aprile o maggio, la stagione è la primavera.
  11. Giugno, luglio o agosto, la stagione è l'estate.
  12. Controllare se un giorno è un giorno del fine settimana o un giorno lavorativo. Il vostro script prenderà il giorno come input.

```sh Che giorno è oggi? Sabato Sabato è un fine settimana.

Che giorno è oggi? sabato
Sabato è un fine settimana.

Che giorno è oggi? venerdì
Venerdì è un giorno lavorativo.

Che giorno è oggi? venerdì
Venerdì è un giorno lavorativo.

```

Esercizi: Livello 3

  1. Scrivere un programma che indichi il numero di giorni in un mese.

```sh Inserire un mese: Gennaio Gennaio ha 31 giorni.

Inserire un mese: GENNAIO
Gennaio ha 31 giorni

Inserire un mese: Febbraio
Febbraio ha 28 giorni.

Inserire un mese: FEBBRAIO
Febbraio ha 28 giorni.

```

  1. Scrivere un programma che indichi il numero di giorni in un mese, considerando l'anno bisestile.

🎉 CONGRATULAZIONI ! 🎉

<< Day 3 | Day 5 >>