TypeScript slēdža priekšraksts izpilda vienu priekšrakstu no vairākiem nosacījumiem. Tas novērtē izteiksmi, pamatojoties uz tās vērtību, kas varētu būt Būla vērtība, skaitlis, baits, īss, int, garš, enum veids, virkne utt. Slēdža priekšrakstam ir viens koda bloks, kas atbilst katrai vērtībai. Kad atbilstība tiks atrasta, tiks izpildīts atbilstošais bloks. Slēdža paziņojums darbojas tāpat kā kāpņu paziņojums if-else-if.
Slēdža paziņojumā ir jāatceras šādi punkti:
- Slēdža priekšrakstā var būt N gadījumu skaits.
- Lietu vērtībām jābūt unikālām.
- Lietu vērtībām jābūt nemainīgām.
- Katra gadījuma paziņojuma koda beigās ir pārtraukuma paziņojums. Pārtraukuma paziņojums nav obligāts.
- Slēdža priekšrakstam ir noklusējuma bloks, kas tiek rakstīts beigās. Noklusējuma paziņojums nav obligāts.
Sintakse
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 }
Slēdža paziņojumā ir ietvertas šādas lietas. Slēdža priekšrakstā var būt neierobežots skaits gadījumu.
Lieta: Aiz reģistra jāraksta tikai viena konstante un pēc tam semikolu. Tas nevar pieņemt citu mainīgo vai izteiksmi.
Pārtraukums: Pārtraukums ir jāraksta bloka beigās, lai pēc gadījuma bloka izpildes iznāktu no slēdža priekšraksta. Ja mēs neierakstām pārtraukumu, izpilde turpinās ar atbilstošo vērtību nākamajam gadījuma blokam.
Noklusējums: Noklusējuma bloks jāraksta slēdža priekšraksta beigās. Tas tiek izpildīts, kad netiks saskaņots neviens gadījums.
Piemērs
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; } }
Izvade:
Pārslēdziet korpusu ar virkni
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>
Izvade:
TypeScript Switch paziņojums ir īsts.
TypeScript slēdža priekšraksts ir īsts. Tas nozīmē, ja pārtraukuma priekšraksts nav pieejams, tas izpilda visus paziņojumus pēc pirmās atbilstības gadījuma.
Piemērs
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'); }
Izvade:
70>