Villkorssatser i TypeScript

Villkorssatser i TypeScript

I den här artikeln kommer vi att förklara villkorssatser i TypeScript.

YouTube Video

Om-satser i TypeScript

I TypeScript utför en if-sats förgrening som kör koden om en angiven villkor är true och kör inte koden om villkoret är false. if-satsen har samma syntax som i JavaScript och använder TypeScripts typssäkerhet för att utföra villkorsförgreningar.

Grundläggande syntax

Den grundläggande syntaxen för if-satsen är som följer.

1if (condition) {
2    // Code to execute if the condition is true
3} else if (anotherCondition) {
4    // Code to execute if the first condition is false
5    // and the another condition is true
6} else {
7    // Code to execute if all conditions are false
8}
  • Om condition är true, körs koden i den följande blocket.
  • Om condition är false och anotherCondition är true, körs koden i den följande blocket.
  • Om inga av villkoren är true, körs koden i det sista else-blocket.

Exempel 1: Grundläggande if-else-sats

I följande exempel kontrolleras om variabeln x är 10 eller större och resultatet skrivs ut.

1let x: number = 15;
2
3if (x >= 10) {
4    console.log("x is 10 or greater");
5} else {
6    console.log("x is less than 10");
7}
8// Outputs: x is 10 or greater

Exempel 2: if-else if-else-sats

För att kontrollera flera villkor används else if för att lägga till förgreningar.

 1let score: number = 85;
 2
 3if (score >= 90) {
 4    console.log("Excellent");
 5} else if (score >= 70) {
 6    console.log("Passed");
 7} else {
 8    console.log("Failed");
 9}
10// Outputs: Passed

Exempel 3: if-sats med typkontroll

Det är också möjligt att utföra villkorsförgreningar för specifika typer med hjälp av TypeScripts typkontrollfunktion. Till exempel, kontrollera typen av en variabel med typeof-operatorn och utför lämplig bearbetning.

 1let value: any = "Hello";
 2
 3if (typeof value === "string") {
 4    console.log("The value is a string: " + value);
 5} else if (typeof value === "number") {
 6    console.log("The value is a number: " + value);
 7} else {
 8    console.log("The value is of another type");
 9}
10// Outputs: "The value is a string: Hello"

Exempel 4: Nästlade if-satser

Du kan också nästla if-satser för att kontrollera komplexa villkor.

 1let age: number = 25;
 2let isMember: boolean = true;
 3
 4if (age >= 18) {
 5    if (isMember) {
 6        console.log("You are a member and 18 years old or older");
 7    } else {
 8        console.log("You are not a member but 18 years old or older");
 9    }
10} else {
11    console.log("You are under 18 years old");
12}
13// Output
14// You are a member and 18 years old or older

Ternär operator (villkorsoperator)

Syntax

1condition ? valueIfTrue : valueIfFalse

Om du vill skriva en if-sats mer kortfattat, kan du använda den tärnär operatorn.

Exempel

1const number: number = 7;
2const result: string = number % 2 === 0 ? "Even" : "Odd";
3console.log(result); // "Odd"

I det här fallet, eftersom number är 7, kommer Odd att visas.

Sammanfattning

  • if-satsen är en grundläggande kontrollstruktur för att avgöra vilken bearbetning som ska utföras baserat på villkor.
  • Du kan hantera flera villkor med else if.
  • Genom att använda typeof kan du utnyttja TypeScripts typer för villkorsförgrening.
  • Hantering av komplexa villkor är möjligt med nästlade if-satser.
  • Du kan också använda den tärnär operatorn för att skriva villkorsgrenar kortfattat.

I TypeScript kan användning av if-satser med typssäkerhet i åtanke förbättra kodens tillförlitlighet.

Switch-satser i TypeScript

Switch-satsen i TypeScript är en kontrollstruktur som används för att förgrena koden baserat på flera villkor. Istället för att använda if-else if-satser för att utvärdera flera villkor kan du använda en switch-sats för att koncist skriva förgreningslogik baserat på specifika värden.

Grundläggande syntax

 1switch (expressionToEvaluate) {
 2    case value1:
 3        // Code to execute if the expression evaluates to value1
 4        break;
 5    case value2:
 6        // Code to execute if the expression evaluates to value2
 7        break;
 8    default:
 9        // Code to execute if none of the conditions match
10}

I en switch-sats, om det värde som anges i en case matchar det utvärderade uttrycket, körs case-blocket. Var uppmärksam på att om det inte finns något break, kommer nästa case-block att köras på varandra. default-blocket körs om ingen av case-satserna matchar.

Exempel 1: Grundläggande switch-sats

I exemplet nedan ges ett nummer som representerar en veckodag (0 till 6), och motsvarande veckodagsnamn skrivs ut baserat på det värdet.

 1let day: number = 3;
 2
 3switch (day) {
 4    case 0:
 5        console.log("Sunday");
 6        break;
 7    case 1:
 8        console.log("Monday");
 9        break;
10    case 2:
11        console.log("Tuesday");
12        break;
13    case 3:
14        console.log("Wednesday");
15        break;
16    case 4:
17        console.log("Thursday");
18        break;
19    case 5:
20        console.log("Friday");
21        break;
22    case 6:
23        console.log("Saturday");
24        break;
25    default:
26        console.log("Invalid day");
27}
28// Outputs: Wednesday

Exempel 2: Exempel som använder default

default är användbart eftersom det körs när ingen av case-satserna matchar, vilket gör att du kan hantera oväntade värden.

 1let statusText: string = "pending";
 2
 3switch (statusText) {
 4    case "success":
 5        console.log("Operation succeeded");
 6        break;
 7    case "error":
 8        console.log("An error occurred");
 9        break;
10    case "pending":
11        console.log("Processing");
12        break;
13    default:
14        console.log("Unknown status");
15}
16// Outputs: Processing

Exempel 3: Utför samma process för flera case

Om du vill utföra samma åtgärd för flera case-satser kan du lista dem i följd.

 1let fruit: string = "apple";
 2
 3switch (fruit) {
 4    case "apple":
 5    case "banana":
 6    case "orange":
 7        console.log("This is a fruit");
 8        break;
 9    default:
10        console.log("This is not a fruit");
11}
12// Outputs: This is a fruit

Exempel 4: Beteende när break utelämnas

Om du utelämnar en break resulterar det i ett "fall-through"-beteende där nästa case också körs.

 1let rank: number = 1;
 2
 3switch (rank) {
 4    case 1:
 5        console.log("Gold");
 6    case 2:
 7        console.log("Silver");
 8    case 3:
 9        console.log("Bronze");
10    default:
11        console.log("Not ranked");
12}
13// Outputs:
14// Gold
15// Silver
16// Bronze
17// Not ranked

På detta sätt körs nästa case också efter att en case matchar, så en break används vanligtvis för att förhindra onödigt fall-through.

Sammanfattning

  • switch-satsen är en kontrollstruktur som låter dig skriva greningar baserade på flera villkor på ett kortfattat sätt.
  • Varje case bör uttryckligen avsluta processen med hjälp av break.
  • default-blocket körs om ingen av case-satserna matchar.
  • Det är också möjligt att utföra samma operation för flera case.

switch-satsen i TypeScript är användbar för att effektivt hantera flera villkor samtidigt som kodens läsbarhet bibehålls.

Du kan följa med i artikeln ovan med hjälp av Visual Studio Code på vår YouTube-kanal. Vänligen kolla även in YouTube-kanalen.

YouTube Video