9.5 KiB
Fondamenti di JavaScript: Prendere Decisioni
Sketchnote di Tomomi Imura
Quiz Pre-Lezione
Prendere decisioni e controllare l'ordine in cui il tuo codice viene eseguito rende il codice riutilizzabile e robusto. Questa sezione copre la sintassi per controllare il flusso dei dati in JavaScript e la sua importanza quando viene utilizzata con i tipi di dati Booleani.
🎥 Clicca sull'immagine sopra per un video su come prendere decisioni.
Puoi seguire questa lezione su Microsoft Learn!
Un Breve Ripasso sui Booleani
I Booleani possono avere solo due valori: true
o false
. I Booleani aiutano a decidere quali righe di codice devono essere eseguite quando vengono soddisfatte determinate condizioni.
Imposta il tuo booleano su true o false in questo modo:
let myTrueBool = true
let myFalseBool = false
✅ I Booleani prendono il nome dal matematico, filosofo e logico inglese George Boole (1815–1864).
Operatori di Confronto e Booleani
Gli operatori vengono utilizzati per valutare condizioni facendo confronti che generano un valore Booleano. Ecco un elenco di operatori frequentemente utilizzati.
Simbolo | Descrizione | Esempio |
---|---|---|
< |
Minore di: Confronta due valori e restituisce il tipo di dato Booleano true se il valore a sinistra è minore di quello a destra |
5 < 6 // true |
<= |
Minore o uguale a: Confronta due valori e restituisce il tipo di dato Booleano true se il valore a sinistra è minore o uguale a quello a destra |
5 <= 6 // true |
> |
Maggiore di: Confronta due valori e restituisce il tipo di dato Booleano true se il valore a sinistra è maggiore di quello a destra |
5 > 6 // false |
>= |
Maggiore o uguale a: Confronta due valori e restituisce il tipo di dato Booleano true se il valore a sinistra è maggiore o uguale a quello a destra |
5 >= 6 // false |
=== |
Uguaglianza stretta: Confronta due valori e restituisce il tipo di dato Booleano true se i valori a destra e a sinistra sono uguali E dello stesso tipo |
5 === 6 // false |
!== |
Diversità: Confronta due valori e restituisce il valore Booleano opposto a quello che restituirebbe un operatore di uguaglianza stretta | 5 !== 6 // true |
✅ Metti alla prova le tue conoscenze scrivendo alcuni confronti nella console del tuo browser. Qualche dato restituito ti sorprende?
If Statement
L'istruzione if
eseguirà il codice tra i suoi blocchi se la condizione è vera.
if (condition) {
//Condition is true. Code in this block will run.
}
Gli operatori logici vengono spesso utilizzati per formare la condizione.
let currentMoney;
let laptopPrice;
if (currentMoney >= laptopPrice) {
//Condition is true. Code in this block will run.
console.log("Getting a new laptop!");
}
If..Else Statement
L'istruzione else
eseguirà il codice tra i suoi blocchi quando la condizione è falsa. È opzionale con un'istruzione if
.
let currentMoney;
let laptopPrice;
if (currentMoney >= laptopPrice) {
//Condition is true. Code in this block will run.
console.log("Getting a new laptop!");
} else {
//Condition is false. Code in this block will run.
console.log("Can't afford a new laptop, yet!");
}
✅ Metti alla prova la tua comprensione di questo codice e del codice seguente eseguendolo nella console del browser. Cambia i valori delle variabili currentMoney
e laptopPrice
per modificare il valore restituito da console.log()
.
Switch Statement
L'istruzione switch
viene utilizzata per eseguire azioni diverse in base a condizioni diverse. Usa l'istruzione switch
per selezionare uno dei tanti blocchi di codice da eseguire.
switch (expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
// program using switch statement
let a = 2;
switch (a) {
case 1:
a = "one";
break;
case 2:
a = "two";
break;
default:
a = "not found";
break;
}
console.log(`The value is ${a}`);
✅ Metti alla prova la tua comprensione di questo codice e del codice seguente eseguendolo nella console del browser. Cambia i valori della variabile a
per modificare il valore restituito da console.log()
.
Operatori Logici e Booleani
Le decisioni potrebbero richiedere più di un confronto e possono essere concatenate con operatori logici per produrre un valore Booleano.
Simbolo | Descrizione | Esempio |
---|---|---|
&& |
AND logico: Confronta due espressioni Booleane. Restituisce true solo se entrambi i lati sono veri | (5 > 6) && (5 < 6 ) //Un lato è falso, l'altro è vero. Restituisce false |
|| |
OR logico: Confronta due espressioni Booleane. Restituisce true se almeno un lato è vero | (5 > 6) || (5 < 6) //Un lato è falso, l'altro è vero. Restituisce true |
! |
NOT logico: Restituisce il valore opposto di un'espressione Booleana | !(5 > 6) // 5 non è maggiore di 6, ma "!" restituirà true |
Condizioni e Decisioni con Operatori Logici
Gli operatori logici possono essere utilizzati per formare condizioni in istruzioni if..else.
let currentMoney;
let laptopPrice;
let laptopDiscountPrice = laptopPrice - laptopPrice * 0.2; //Laptop price at 20 percent off
if (currentMoney >= laptopPrice || currentMoney >= laptopDiscountPrice) {
//Condition is true. Code in this block will run.
console.log("Getting a new laptop!");
} else {
//Condition is true. Code in this block will run.
console.log("Can't afford a new laptop, yet!");
}
Operatore di Negazione
Finora hai visto come puoi utilizzare un'istruzione if...else
per creare logica condizionale. Qualsiasi cosa inserita in un if
deve valutarsi come true/false. Utilizzando l'operatore !
puoi negare l'espressione. Sarebbe così:
if (!condition) {
// runs if condition is false
} else {
// runs if condition is true
}
Espressioni Ternarie
if...else
non è l'unico modo per esprimere la logica decisionale. Puoi anche utilizzare qualcosa chiamato operatore ternario. La sintassi è la seguente:
let variable = condition ? <return this if true> : <return this if false>
Di seguito un esempio più concreto:
let firstNumber = 20;
let secondNumber = 10;
let biggestNumber = firstNumber > secondNumber ? firstNumber : secondNumber;
✅ Prenditi un minuto per leggere questo codice alcune volte. Capisci come funzionano questi operatori?
Il codice sopra afferma che:
- se
firstNumber
è maggiore disecondNumber
- allora assegna
firstNumber
abiggestNumber
- altrimenti assegna
secondNumber
.
L'espressione ternaria è solo un modo compatto di scrivere il codice seguente:
let biggestNumber;
if (firstNumber > secondNumber) {
biggestNumber = firstNumber;
} else {
biggestNumber = secondNumber;
}
🚀 Sfida
Crea un programma scritto prima con operatori logici, e poi riscrivilo utilizzando un'espressione ternaria. Quale sintassi preferisci?
Quiz Post-Lezione
Revisione e Studio Autonomo
Leggi di più sui numerosi operatori disponibili per l'utente su MDN.
Consulta il fantastico operator lookup di Josh Comeau!
Compito
Disclaimer:
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica Co-op Translator. Sebbene ci impegniamo per garantire l'accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale eseguita da un traduttore umano. Non siamo responsabili per eventuali incomprensioni o interpretazioni errate derivanti dall'uso di questa traduzione.