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èfalseeanotherConditionètrue, il codice nel blocco seguente viene eseguito. - Se nessuna delle condizioni è
true, il codice nell'ultimo bloccoelseviene 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 : valueIfFalseSe 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
ifannidate. - 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
casedovrebbe terminare esplicitamente il processo utilizzandobreak. - Il blocco
defaultviene eseguito se nessuno deicasecorrisponde. - È 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.