Conditionele uitspraken in TypeScript

Conditionele uitspraken in TypeScript

In dit artikel leggen we conditionele uitspraken in TypeScript uit.

YouTube Video

If-uitspraken in TypeScript

In TypeScript voert een if-uitspraak takken uit die code uitvoert als een opgegeven voorwaarde true is en het niet uitvoert als de voorwaarde false is. De if-uitspraak heeft dezelfde syntaxis als in JavaScript en maakt gebruik van de type-veiligheid van TypeScript voor conditionele vertakkingen.

Basis Syntax

De basis-syntaxis van de if-verklaring is als volgt.

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}
  • Als condition true is, wordt de code in het volgende blok uitgevoerd.
  • Als condition false is en anotherCondition true is, wordt de code in het volgende blok uitgevoerd.
  • Als geen van de voorwaarden true is, wordt de code in het laatste else-blok uitgevoerd.

Voorbeeld 1: Basis if-else-uitspraak

In het volgende voorbeeld wordt gecontroleerd of de variabele x 10 of groter is en vervolgens het resultaat weergegeven.

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

Voorbeeld 2: if-else if-else-uitspraak

Gebruik else if om meerdere voorwaarden te controleren en takken toe te voegen.

 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

Voorbeeld 3: if-uitspraak met typecontrole

Het is ook mogelijk om conditionele vertakkingen te maken voor specifieke typen met behulp van de typecontrolefunctie van TypeScript. Controleer bijvoorbeeld het type van een variabele met de typeof-operator en voer daarbij een geschikte verwerking uit.

 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"

Voorbeeld 4: Geneste if-uitspraken

Je kunt ook geneste if-uitspraken gebruiken om complexe voorwaarden te controleren.

 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

Ternaire operator (voorwaardelijke operator)

Syntax

1condition ? valueIfTrue : valueIfFalse

Als je een if-verklaring beknopter wilt schrijven, kun je de ternaire operator gebruiken.

Voorbeeld

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

In dit geval, aangezien number gelijk is aan 7, wordt Odd weergegeven.

Samenvatting

  • De if-uitspraak is een fundamentele controlestructuur voor het bepalen van welke verwerking moet worden uitgevoerd op basis van voorwaarden.
  • Je kunt meerdere voorwaarden afhandelen met else if.
  • Door typeof te gebruiken, kun je de typen van TypeScript benutten voor conditionele vertakkingen.
  • Het omgaan met complexe voorwaarden is mogelijk met geneste if-uitspraken.
  • Je kunt ook de ternaire operator gebruiken om voorwaardelijke takken beknopt te schrijven.

In TypeScript kan het gebruik van if-uitspraken met inachtneming van type-veiligheid de betrouwbaarheid van de code verbeteren.

Switch-uitspraken in TypeScript

De switch-uitspraak in TypeScript is een controlestructuur die wordt gebruikt om code te vertakken op basis van meerdere voorwaarden. In plaats van if-else if-uitspraken te gebruiken om meerdere voorwaarden te evalueren, kun je een switch-uitspraak gebruiken om vertakkingslogica op een beknopte manier te schrijven op basis van specifieke waarden.

Basis 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}

In een switch-uitspraak wordt het case-blok uitgevoerd als de waarde die in een case is gespecificeerd overeenkomt met de geëvalueerde expressie. Let op dat als er geen break is, het volgende case-blok achtereenvolgens wordt uitgevoerd. Het default-blok wordt uitgevoerd als geen van de case-instructies overeenkomt.

Voorbeeld 1: Basis switch-instructie

In het onderstaande voorbeeld wordt een getal dat een dag van de week (0 tot 6) vertegenwoordigt opgegeven, en wordt de bijbehorende dagnaam weergegeven op basis van die waarde.

 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

Voorbeeld 2: Voorbeeld met gebruik van default

default is handig omdat het wordt uitgevoerd wanneer geen van de case-instructies overeenkomt, zodat je onverwachte waarden kunt afhandelen.

 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

Voorbeeld 3: Hetzelfde proces uitvoeren voor meerdere cases

Als je dezelfde actie wilt uitvoeren voor meerdere case-instructies, kun je deze achter elkaar vermelden.

 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

Voorbeeld 4: Gedrag wanneer break wordt weggelaten

Het weglaten van een break resulteert in een "fall-through"-gedrag waarbij de volgende case ook wordt uitgevoerd.

 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

Op deze manier wordt, nadat een case overeenkomt, de volgende case ook uitgevoerd, dus wordt meestal een break gebruikt om onnodige fall-through te voorkomen.

Samenvatting

  • De switch-instructie is een controle-structuur waarmee je vertakkingslogica op basis van meerdere voorwaarden beknopt kunt schrijven.
  • Elke case moet het proces expliciet beëindigen met behulp van break.
  • Het default-blok wordt uitgevoerd als geen van de cases overeenkomt.
  • Het is ook mogelijk om dezelfde bewerking uit te voeren voor meerdere cases.

De switch-instructie in TypeScript is handig voor het efficiënt afhandelen van meerdere voorwaarden en behoud van leesbaarheid van de code.

Je kunt het bovenstaande artikel volgen met Visual Studio Code op ons YouTube-kanaal. Bekijk ook het YouTube-kanaal.

YouTube Video