Instrukcja switch TypeScript wykonuje jedną instrukcję na podstawie wielu warunków. Ocenia wyrażenie na podstawie jego wartości, która może być wartością logiczną, liczbą, bajtem, krótką, int, długą, typem wyliczeniowym, ciągiem znaków itp. Instrukcja switch zawiera jeden blok kodu odpowiadający każdej wartości. Po znalezieniu dopasowania zostanie wykonany odpowiedni blok. Instrukcja switch działa podobnie jak instrukcja drabinkowa if-else-if.
W instrukcji switch należy pamiętać o następujących kwestiach:
- Wewnątrz instrukcji switch może znajdować się N przypadków.
- Wartości case muszą być unikalne.
- Wartości przypadków muszą być stałe.
- Każda instrukcja case posiada instrukcję break na końcu kodu. Instrukcja break jest opcjonalna.
- Instrukcja switch ma domyślny blok, który jest zapisany na końcu. Domyślna instrukcja jest opcjonalna.
Składnia
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 }
Instrukcja switch zawiera następujące elementy. W instrukcji switch może znajdować się dowolna liczba przypadków.
Sprawa: Po przypadku powinna następować tylko jedna stała, a następnie średnik. Nie może zaakceptować innej zmiennej lub wyrażenia.
Przerwa: Break powinien zostać zapisany na końcu bloku, aby wyjść z instrukcji switch po wykonaniu bloku case. Jeśli nie napiszemy break, wykonanie będzie kontynuowane z wartością dopasowaną do kolejnego bloku case.
Domyślny: Domyślny blok powinien zostać zapisany na końcu instrukcji switch. Wykonuje się, gdy nie ma pasujących przypadków.
Przykład
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; } }
Wyjście:
Zmień obudowę za pomocą sznurka
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>
Wyjście:
Instrukcja TypeScript Switch jest ostateczna.
Instrukcja switch TypeScript jest przejściowa. Oznacza to, że jeśli nie ma instrukcji break, wykonywane są wszystkie instrukcje po pierwszym przypadku dopasowania.
Przykład
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'); }
Wyjście:
70>