L'istruzione switch TypeScript esegue un'istruzione da più condizioni. Valuta un'espressione in base al suo valore che potrebbe essere booleano, numero, byte, short, int, long, tipo enum, stringa, ecc. Un'istruzione switch ha un blocco di codice corrispondente a ciascun valore. Quando viene trovata la corrispondenza, verrà eseguito il blocco corrispondente. Un'istruzione switch funziona come l'istruzione ladder if-else-if.
I seguenti punti devono essere ricordati in un'istruzione switch:
- Può esserci un numero N di casi all'interno di un'istruzione switch.
- I valori del caso devono essere univoci.
- I valori dei casi devono essere costanti.
- Ogni istruzione case ha un'istruzione break alla fine del codice. L'istruzione break è facoltativa.
- L'istruzione switch ha un blocco predefinito che viene scritto alla fine. L'istruzione predefinita è facoltativa.
Sintassi
switch(expression){ case expression1: //code to be executed; break; //optional case expression2: //code to be executed; break; //optional ........ default: //when no case is matched, this block will be executed; break; //optional }
L'istruzione switch contiene le seguenti cose. Può esserci un numero qualsiasi di casi all'interno di un'istruzione switch.
Caso: Il caso dovrebbe essere seguito solo da una costante e poi da un punto e virgola. Non può accettare un'altra variabile o espressione.
Rottura: La break dovrebbe essere scritta alla fine del blocco per uscire dall'istruzione switch dopo aver eseguito un blocco case. Se non scriviamo break, l'esecuzione continua con il valore corrispondente al blocco case successivo.
Predefinito: Il blocco predefinito dovrebbe essere scritto alla fine dell'istruzione switch. Viene eseguito quando non ci sono casi che verranno abbinati.
Esempio
let a = 3; let b = 2; switch (a+b){ case 1: { console.log('a+b is 1.'); break; } case 2: { console.log('a+b is 5.'); break; } case 3: { console.log('a+b is 6.'); break; } default: { console.log('a+b is 5.'); break; } }
Produzione:
Cambia caso con String
let grade: string = 'A'; switch (grade) { case'A+': console.log('Marks >= 90'+' '+'Excellent'); break; case'A': console.log('Marks [ >= 80 and = 70 and = 60 and <70 ]'+' '+'average'); break; case'c': console.log('marks < 60'+' '+'below average'); default: console.log('invalid grade.'); } pre> <p>In this example, we have a string variable grade. The switch statement evaluates grade variable value and match with case clauses and then execute its associated statements.</p> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/typescript-tutorial/79/typescript-switch-statement-3.webp" alt="TypeScript Switch Statement"> <hr> <h2>Switch Case with Enum</h2> <p>In TypeScript, we can use the switch case with Enum in the following ways.</p> <h3>Example</h3> <pre> enum Direction { East, West, North, South }; var dir: Direction = Direction.North; function getDirection() { switch (dir) { case Direction.North: console.log('You are in North Direction'); break; case Direction.East: console.log('You are in East Direction'); break; case Direction.South: console.log('You are in South Direction'); break; case Direction.West: console.log('You are in West Direction'); break; } } getDirection(); </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/typescript-tutorial/79/typescript-switch-statement-4.webp" alt="TypeScript Switch Statement"> <hr> <h2>TypeScript Switch Statement is fall-through.</h2> <p>The TypeScript switch statement is fall-through. It means if a break statement is not present, then it executes all statements after the first match case.</p> <h3>Example</h3> <pre> let number = 20; switch(number) { //switch cases without break statements case 10: console.log('10'); case 20: console.log('20'); case 30: console.log('30'); default: console.log('Not in 10, 20 or 30'); } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/typescript-tutorial/79/typescript-switch-statement-5.webp" alt="TypeScript Switch Statement"></70>
Produzione:
L'istruzione TypeScript Switch non è riuscita.
L'istruzione switch TypeScript è fall-through. Ciò significa che se non è presente un'istruzione break, verranno eseguite tutte le istruzioni dopo il primo caso di corrispondenza.
Esempio
let number = 20; switch(number) { //switch cases without break statements case 10: console.log('10'); case 20: console.log('20'); case 30: console.log('30'); default: console.log('Not in 10, 20 or 30'); }
Produzione:
70>