Istruzioni Condizionali in TypeScript
In questo articolo spiegheremo le istruzioni condizionali in TypeScript.
YouTube Video
Istruzioni If in TypeScript
In TypeScript, un'istruzione if
consente il branching, eseguendo il codice se una condizione specificata è true
e non eseguendolo se la condizione è false
. L'istruzione if
ha la stessa sintassi di JavaScript e utilizza la sicurezza dei tipi di TypeScript per eseguire un branching condizionale.
Sintassi di Base
La sintassi di base dell'istruzione if
è la seguente.
1if (condition) {
2 // Code to execute if the condition is true
3} else if (anotherCondition) {
4 // Code to execute if the first condition is false
5 // and the another condition is true
6} else {
7 // Code to execute if all conditions are false
8}
- Se
condition
ètrue
, il codice nel blocco seguente viene eseguito. - Se
condition
èfalse
eanotherCondition
ètrue
, il codice nel blocco seguente viene eseguito. - Se nessuna delle condizioni è
true
, il codice nell'ultimo bloccoelse
viene eseguito.
Esempio 1: Istruzione di base if-else
Nel seguente esempio, verifica se la variabile x
è 10 o superiore e restituisce il risultato.
1let x: number = 15;
2
3if (x >= 10) {
4 console.log("x is 10 or greater");
5} else {
6 console.log("x is less than 10");
7}
8// Outputs: x is 10 or greater
Esempio 2: Istruzione if-else if-else
Per verificare più condizioni, utilizza else if
per aggiungere branch.
1let score: number = 85;
2
3if (score >= 90) {
4 console.log("Excellent");
5} else if (score >= 70) {
6 console.log("Passed");
7} else {
8 console.log("Failed");
9}
10// Outputs: Passed
Esempio 3: Istruzione if
con controllo dei tipi
È anche possibile eseguire un branching condizionale per tipi specifici utilizzando la funzione di controllo dei tipi di TypeScript. Ad esempio, verifica il tipo di una variabile con l'operatore typeof
ed esegui un'elaborazione appropriata.
1let value: any = "Hello";
2
3if (typeof value === "string") {
4 console.log("The value is a string: " + value);
5} else if (typeof value === "number") {
6 console.log("The value is a number: " + value);
7} else {
8 console.log("The value is of another type");
9}
10// Outputs: "The value is a string: Hello"
Esempio 4: Istruzioni if
annidate
Puoi anche annidare istruzioni if
per verificare condizioni complesse.
1let age: number = 25;
2let isMember: boolean = true;
3
4if (age >= 18) {
5 if (isMember) {
6 console.log("You are a member and 18 years old or older");
7 } else {
8 console.log("You are not a member but 18 years old or older");
9 }
10} else {
11 console.log("You are under 18 years old");
12}
13// Output
14// You are a member and 18 years old or older
Operatore ternario (operatore condizionale)
Sintassi
1condition ? valueIfTrue : valueIfFalse
Se vuoi scrivere un'istruzione if
in modo più conciso, puoi usare l'operatore ternario.
Esempio
1const number: number = 7;
2const result: string = number % 2 === 0 ? "Even" : "Odd";
3console.log(result); // "Odd"
In questo caso, poiché number
è 7
, verrà visualizzato Odd
.
Riepilogo
- L'istruzione
if
è una struttura di controllo fondamentale per determinare quale elaborazione eseguire in base alle condizioni. - Puoi gestire più condizioni utilizzando
else if
. - Utilizzando
typeof
, puoi sfruttare i tipi di TypeScript per il branching condizionale. - La gestione di condizioni complesse è possibile con istruzioni
if
annidate. - Puoi anche usare l'operatore ternario per scrivere i rami condizionali in modo conciso.
In TypeScript, l'utilizzo di istruzioni if
con attenzione alla sicurezza dei tipi può migliorare l'affidabilità del codice.
Istruzioni Switch in TypeScript
L'istruzione switch
in TypeScript è una struttura di controllo utilizzata per diramare il codice in base a più condizioni. Invece di utilizzare istruzioni if-else if
per valutare più condizioni, puoi usare un'istruzione switch
per scrivere in modo conciso la logica di diramazione basata su valori specifici.
Sintassi di Base
1switch (expressionToEvaluate) {
2 case value1:
3 // Code to execute if the expression evaluates to value1
4 break;
5 case value2:
6 // Code to execute if the expression evaluates to value2
7 break;
8 default:
9 // Code to execute if none of the conditions match
10}
In un'istruzione switch
, se il valore specificato in un case
corrisponde all'espressione valutata, viene eseguito il blocco case
. Fai attenzione perché se non c'è un break
, il blocco case
successivo viene eseguito consecutivamente. Il blocco default
viene eseguito se nessuna delle istruzioni case
corrisponde.
Esempio 1: Istruzione switch
di base
Nell'esempio seguente viene fornito un numero che rappresenta un giorno della settimana (da 0 a 6) e viene emesso il nome del giorno corrispondente in base a quel valore.
1let day: number = 3;
2
3switch (day) {
4 case 0:
5 console.log("Sunday");
6 break;
7 case 1:
8 console.log("Monday");
9 break;
10 case 2:
11 console.log("Tuesday");
12 break;
13 case 3:
14 console.log("Wednesday");
15 break;
16 case 4:
17 console.log("Thursday");
18 break;
19 case 5:
20 console.log("Friday");
21 break;
22 case 6:
23 console.log("Saturday");
24 break;
25 default:
26 console.log("Invalid day");
27}
28// Outputs: Wednesday
Esempio 2: Esempio con utilizzo di default
default
è utile perché si esegue quando nessuna delle istruzioni case
corrisponde, consentendo di gestire valori imprevisti.
1let statusText: string = "pending";
2
3switch (statusText) {
4 case "success":
5 console.log("Operation succeeded");
6 break;
7 case "error":
8 console.log("An error occurred");
9 break;
10 case "pending":
11 console.log("Processing");
12 break;
13 default:
14 console.log("Unknown status");
15}
16// Outputs: Processing
Esempio 3: Esecuzione dello stesso processo per più case
Se vuoi eseguire la stessa azione per più istruzioni case
, puoi elencarle consecutivamente.
1let fruit: string = "apple";
2
3switch (fruit) {
4 case "apple":
5 case "banana":
6 case "orange":
7 console.log("This is a fruit");
8 break;
9 default:
10 console.log("This is not a fruit");
11}
12// Outputs: This is a fruit
Esempio 4: Comportamento quando il break
è omesso
Omettere un break
comporta un comportamento di "fall-through" in cui viene eseguito anche il case
successivo.
1let rank: number = 1;
2
3switch (rank) {
4 case 1:
5 console.log("Gold");
6 case 2:
7 console.log("Silver");
8 case 3:
9 console.log("Bronze");
10 default:
11 console.log("Not ranked");
12}
13// Outputs:
14// Gold
15// Silver
16// Bronze
17// Not ranked
In questo modo, dopo che un case
corrisponde, viene eseguito anche il case
successivo, quindi si usa solitamente un break
per evitare il fall-through non necessario.
Riepilogo
- L'istruzione
switch
è una struttura di controllo che ti consente di scrivere logiche ramificate basate su più condizioni in modo conciso. - Ogni
case
dovrebbe terminare esplicitamente il processo utilizzandobreak
. - Il blocco
default
viene eseguito se nessuno deicase
corrisponde. - È anche possibile eseguire la stessa operazione per più
case
.
L'istruzione switch
in TypeScript è utile per gestire in modo efficiente più condizioni mantenendo leggibile il codice.
Puoi seguire l'articolo sopra utilizzando Visual Studio Code sul nostro canale YouTube. Controlla anche il nostro canale YouTube.