Câu lệnh điều kiện trong TypeScript

Câu lệnh điều kiện trong TypeScript

Trong bài viết này, chúng tôi sẽ giải thích các câu lệnh điều kiện trong TypeScript.

YouTube Video

Câu lệnh if trong TypeScript

Trong TypeScript, câu lệnh if thực hiện rẽ nhánh, thực thi mã nếu điều kiện được chỉ định là true và không thực thi nếu điều kiện là false. Câu lệnh if có cú pháp giống như trong JavaScript và sử dụng tính an toàn kiểu dữ liệu của TypeScript để thực hiện rẽ nhánh điều kiện.

Cú pháp Cơ bản

Cú pháp cơ bản của câu lệnh if như sau.

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}
  • Nếu conditiontrue, đoạn mã trong khối tiếp theo sẽ được thực thi.
  • Nếu conditionfalseanotherConditiontrue, đoạn mã trong khối tiếp theo sẽ được thực thi.
  • Nếu không có điều kiện nào là true, đoạn mã trong khối else cuối cùng sẽ được thực thi.

Ví dụ 1: Câu lệnh cơ bản if-else

Trong ví dụ sau, nó kiểm tra xem biến x có lớn hơn hoặc bằng 10 hay không và hiển thị kết quả.

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

Ví dụ 2: Câu lệnh if-else if-else

Để kiểm tra nhiều điều kiện, sử dụng else if để thêm các nhánh.

 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

Ví dụ 3: Câu lệnh if với kiểm tra kiểu dữ liệu

Cũng có thể thực hiện rẽ nhánh điều kiện cho các kiểu cụ thể bằng tính năng kiểm tra kiểu dữ liệu của TypeScript. Ví dụ, kiểm tra kiểu của một biến bằng toán tử typeof và thực hiện xử lý phù hợp.

 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"

Ví dụ 4: Câu lệnh if lồng nhau

Bạn cũng có thể lồng các câu lệnh if để kiểm tra các điều kiện phức tạp.

 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

Toán tử ba ngôi (toán tử điều kiện)

Cú pháp

1condition ? valueIfTrue : valueIfFalse

Nếu bạn muốn viết câu lệnh if ngắn gọn hơn, bạn có thể sử dụng toán tử ba ngôi.

Ví dụ

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

Trong trường hợp này, vì number7, Odd sẽ được hiển thị.

Tóm tắt

  • Câu lệnh if là một cấu trúc điều khiển cơ bản để xác định việc xử lý nào sẽ được thực hiện dựa trên các điều kiện.
  • Bạn có thể xử lý nhiều điều kiện bằng cách sử dụng else if.
  • Bằng cách sử dụng typeof, bạn có thể tận dụng kiểu dữ liệu của TypeScript để thực hiện rẽ nhánh điều kiện.
  • Việc xử lý điều kiện phức tạp là có thể với các câu lệnh if lồng nhau.
  • Bạn cũng có thể sử dụng toán tử ba ngôi để viết các nhánh điều kiện một cách ngắn gọn.

Trong TypeScript, sử dụng câu lệnh if với tính an toàn kiểu dữ liệu có thể cải thiện độ tin cậy của mã.

Câu lệnh switch trong TypeScript

Câu lệnh switch trong TypeScript là một cấu trúc điều khiển được sử dụng để rẽ nhánh mã dựa trên nhiều điều kiện. Thay vì sử dụng các câu lệnh if-else if để đánh giá nhiều điều kiện, bạn có thể sử dụng câu lệnh switch để viết ngắn gọn logic rẽ nhánh dựa trên các giá trị cụ thể.

Cú pháp Cơ bản

 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}

Trong một câu lệnh switch, nếu giá trị chỉ định trong case khớp với biểu thức được đánh giá, khối case sẽ được thực thi. Hãy cẩn thận rằng nếu không có break, khối case tiếp theo sẽ được thực thi liên tiếp. default sẽ được thực thi nếu không có câu lệnh case nào khớp.

Ví dụ 1: Câu lệnh switch cơ bản

Trong ví dụ dưới đây, một số đại diện cho một ngày trong tuần (từ 0 đến 6) được đưa ra và tên ngày tương ứng được xuất ra dựa trên giá trị đó.

 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

Ví dụ 2: Ví dụ sử dụng default

default rất hữu ích vì nó chạy khi không có câu lệnh case nào khớp, cho phép bạn xử lý các giá trị không mong đợi.

 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

Ví dụ 3: Thực thi cùng một quy trình cho nhiều case

Nếu bạn muốn thực hiện cùng một hành động cho nhiều câu lệnh case, bạn có thể liệt kê chúng liên tiếp nhau.

 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

Ví dụ 4: Hành vi khi bỏ qua break

Bỏ qua break sẽ dẫn đến hành vi "fall-through" (tiếp tục thực thi), nơi câu lệnh case tiếp theo cũng được thực thi.

 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

Theo cách này, sau khi một case khớp, câu lệnh case tiếp theo cũng được thực thi, vì vậy break thường được sử dụng để tránh hành vi fall-through không cần thiết.

Tóm tắt

  • Câu lệnh switch là một cấu trúc điều khiển cho phép bạn viết logic phân nhánh dựa trên nhiều điều kiện một cách ngắn gọn.
  • Mỗi case nên kết thúc quá trình một cách rõ ràng bằng cách sử dụng break.
  • Khối default được thực thi nếu không có case nào khớp.
  • Cũng có thể thực hiện cùng một thao tác cho nhiều case.

Câu lệnh switch trong TypeScript hữu ích để xử lý hiệu quả nhiều điều kiện trong khi vẫn duy trì tính dễ đọc của mã.

Bạn có thể làm theo bài viết trên bằng cách sử dụng Visual Studio Code trên kênh YouTube của chúng tôi. Vui lòng ghé thăm kênh YouTube.

YouTube Video