Die TypeScript-Switch-Anweisung führt eine Anweisung aus mehreren Bedingungen aus. Es wertet einen Ausdruck basierend auf seinem Wert aus, der boolesch, eine Zahl, ein Byte, kurz, int, lang, ein Aufzählungstyp, eine Zeichenfolge usw. sein kann. Eine Switch-Anweisung verfügt über einen Codeblock, der jedem Wert entspricht. Wenn die Übereinstimmung gefunden wird, wird der entsprechende Block ausgeführt. Eine Switch-Anweisung funktioniert wie die If-Else-If-Ladder-Anweisung.
Die folgenden Punkte müssen bei einer switch-Anweisung beachtet werden:
- Eine Switch-Anweisung kann N Fälle enthalten.
- Die Fallwerte müssen eindeutig sein.
- Die Fallwerte müssen konstant sein.
- Jede case-Anweisung verfügt über eine break-Anweisung am Ende des Codes. Die break-Anweisung ist optional.
- Die switch-Anweisung verfügt über einen Standardblock, der am Ende geschrieben wird. Die Standardanweisung ist optional.
Syntax
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 }
Die switch-Anweisung enthält die folgenden Dinge. Eine Switch-Anweisung kann beliebig viele Fälle enthalten.
Fall: Auf den Fall sollte nur eine Konstante und dann ein Semikolon folgen. Es kann keine andere Variable oder keinen anderen Ausdruck akzeptieren.
Brechen: Der Break sollte am Ende des Blocks geschrieben werden, um nach der Ausführung eines Case-Blocks aus der Switch-Anweisung hervorzugehen. Wenn wir kein Break schreiben, wird die Ausführung mit dem passenden Wert zum nachfolgenden Case-Block fortgesetzt.
Standard: Der Standardblock sollte am Ende der switch-Anweisung geschrieben werden. Es wird ausgeführt, wenn kein Fall gefunden wird.
Beispiel
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; } }
Ausgabe:
Gehäuse mit String wechseln
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>
Ausgabe:
Die TypeScript-Switch-Anweisung ist ein Fall-Through.
Die Switch-Anweisung von TypeScript ist ein Fall-Through-Befehl. Das heißt, wenn keine Break-Anweisung vorhanden ist, werden alle Anweisungen nach dem ersten Übereinstimmungsfall ausgeführt.
Beispiel
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'); }
Ausgabe:
70>