Betingede udsagn i TypeScript

Betingede udsagn i TypeScript

I denne artikel vil vi forklare betingede udsagn i TypeScript.

YouTube Video

If-udsagn i TypeScript

I TypeScript udfører et if-udsagn en forgrening, der kører kode, hvis en angivet betingelse er true, og undlader at køre den, hvis betingelsen er false. If-udsagnet har samme syntaks som i JavaScript og bruger TypeScripts type-sikkerhed til at udføre betingede forgreninger.

Grundlæggende syntaks

Den grundlæggende syntaks for if-sætningen er som følger.

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}
  • Hvis condition er true, udføres koden i det følgende blok.
  • Hvis condition er false og anotherCondition er true, udføres koden i det følgende blok.
  • Hvis ingen af betingelserne er true, udføres koden i den sidste else-blok.

Eksempel 1: Grundlæggende if-else-udsagn

I det følgende eksempel tjekkes det, om variablen x er 10 eller større, og resultatet vises.

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

Eksempel 2: if-else if-else-udsagn

For at kontrollere flere betingelser skal du bruge else if for at tilføje grene.

 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

Eksempel 3: If-udsagn med typekontrol

Det er også muligt at udføre betingede forgreninger for specifikke typer ved hjælp af TypeScripts typekontrolfunktion. For eksempel kan du kontrollere typen af en variabel med typeof-operatoren og udføre passende behandling.

 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"

Eksempel 4: Indlejrede if-udsagn

Du kan også indlejre if-udsagn for at kontrollere komplekse betingelser.

 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 (betingelsesoperator)

Syntaks

1condition ? valueIfTrue : valueIfFalse

Hvis du vil skrive en if-sætning mere kortfattet, kan du bruge den ternære operator.

Eksempel

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

I dette tilfælde, da number er 7, vises Odd.

Sammendrag

  • If-udsagnet er en grundlæggende kontrolstruktur til at bestemme, hvilken behandling der skal udføres baseret på betingelser.
  • Du kan håndtere flere betingelser ved hjælp af else if.
  • Ved at bruge typeof kan du udnytte TypeScripts typer til betingede forgreninger.
  • Det er muligt at håndtere komplekse betingelser med indlejrede if-udsagn.
  • Du kan også bruge den ternære operator til at skrive betingede grene kortfattet.

I TypeScript kan brugen af if-udsagn med fokus på type-sikkerhed forbedre kodens pålidelighed.

Switch-udsagn i TypeScript

Switch-udsagnet i TypeScript er en kontrolstruktur, der bruges til at forgrene kode baseret på flere betingelser. I stedet for at bruge if-else if-udsagn til at evaluere flere betingelser, kan du bruge et switch-udsagn til kortfattet at skrive forgreningslogik baseret på specifikke værdier.

Grundlæggende syntaks

 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 et switch-udsagn udføres case-blokken, hvis værdien angivet i en case matcher den evaluerede udtryk. Vær opmærksom på, at hvis der ikke er en break, udføres den næste case-blok fortløbende. Blokken default udføres, hvis ingen af case-udtrykkene matcher.

Eksempel 1: Grundlæggende switch-sætning

I eksemplet nedenfor gives der et tal, der repræsenterer en ugedag (0 til 6), og navnet på den tilsvarende dag udskrives baseret på den værdi.

 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

Eksempel 2: Eksempel på brug af default

default er nyttig, fordi den udføres, når ingen af case-udtrykkene matcher, hvilket gør det muligt at håndtere uventede værdier.

 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

Eksempel 3: Udførelse af samme proces for flere cases

Hvis du vil udføre den samme handling for flere case-udtryk, kan du opføre dem i rækkefølge.

 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

Eksempel 4: Adfærd når break udelades

At udelade en break resulterer i en "fall-through"-adfærd, hvor den næste case også udføres.

 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å denne måde, efter en case matcher, udføres den næste case også, så en break bruges normalt for at forhindre unødvendig fall-through.

Sammendrag

  • switch-sætningen er en kontrolstruktur, der giver dig mulighed for at skrive forgreningslogik baseret på flere betingelser på en kortfattet måde.
  • Hver case bør eksplicit afslutte processen med break.
  • Blokken default udføres, hvis ingen af cases matcher.
  • Det er også muligt at udføre den samme handling for flere cases.

switch-sætningen i TypeScript er nyttig til effektivt at håndtere flere betingelser, samtidig med at kodens læsbarhed opretholdes.

Du kan følge med i ovenstående artikel ved hjælp af Visual Studio Code på vores YouTube-kanal. Husk også at tjekke YouTube-kanalen.

YouTube Video