15 dicembre 2021

Operatori condizionali: if, '?'

Qualche volta abbiamo bisogno di eseguire certe azioni solo nel caso valgano determinate condizioni.

Per questo c’è l’istruzione if e l’operatore condizionale di valutazione a cui ci riferiremo, per semplicità, con “l’operatore punto di domanda” ?.

L’istruzione “if”

L’istruzione if(...) valuta una condizione (racchiusa nelle parentesi); se il risultato è true, esegue il codice che segue if.

Ad esempio:

let year = prompt('In which year was ECMAScript-2015 specification published?', '');

if (year == 2015) alert( 'You are right!' );

Nell’esempio sopra, la condizione è un semplice controllo di uguaglianza: year == 2015, ma potrebbe essere qualcosa di molto più complesso.

Se dobbiamo eseguire più di un’istruzione, queste vanno raggruppate tramite parentesi graffe:

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}

E’ consigliabile raggruppare sempre il codice all’interno delle parentesi graffe {}, quando si usa un if, anche se contiene una sola istruzione. La leggibilità ne guadagna.

Conversione booleana

L’istruzione if (…) valuta la condizione tra le parentesi e converte il risultato al tipo booleano.

Ricordiamo le regole di conversione viste nel capitolo Conversione di tipi:

  • Il numero 0, una stringa vuota "", null, undefined e