TypeScript-kytkinkäsky suorittaa yhden käskyn useista ehdoista. Se arvioi lausekkeen sen arvon perusteella, joka voi olla Boolen arvo, numero, tavu, lyhyt, int, pitkä, enum-tyyppi, merkkijono jne. Switch-käskyssä on yksi koodilohko, joka vastaa kutakin arvoa. Kun osuma löytyy, vastaava lohko suoritetaan. Switch-lause toimii kuten if-else-if-ladder-lause.
Seuraavat kohdat on muistettava kytkinlauseessa:
- Switch-käskyn sisällä voi olla N määrä tapauksia.
- Tapausten arvojen on oltava yksilöllisiä.
- Tapausten arvojen on oltava vakioita.
- Jokaisen tapauslausekkeen koodin lopussa on break-lause. Break-lause on valinnainen.
- Switch-käskyssä on oletuslohko, joka kirjoitetaan loppuun. Oletuslauseke on valinnainen.
Syntaksi
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 }
Kytkinlause sisältää seuraavat asiat. Switch-käskyn sisällä voi olla mikä tahansa määrä tapauksia.
Tapaus: Kirjainkoossa tulisi olla vain yksi vakio ja sitten puolipiste. Se ei voi hyväksyä toista muuttujaa tai lauseketta.
Tauko: Katko tulee kirjoittaa lohkon loppuun, jotta se tulee ulos kytkinkäskystä tapauslohkon suorittamisen jälkeen. Jos emme kirjoita taukoa, suoritus jatkuu vastaavalla arvolla seuraavaan tapauslohkoon.
Oletus: Oletuslohko tulee kirjoittaa switch-käskyn loppuun. Se suoritetaan, kun tapauksia ei löydy.
Esimerkki
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; } }
Lähtö:
Vaihda kotelo stringillä
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>
Lähtö:
TypeScript Switch -lausunto on katkonainen.
TypeScript-kytkinlauseke on läpimurto. Se tarkoittaa, että jos break-lausetta ei ole, se suorittaa kaikki käskyt ensimmäisen vastaavuustapauksen jälkeen.
Esimerkki
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'); }
Lähtö:
70>