HomeLập trìnhJavaScriptTrường hợp chuyển...

Trường hợp chuyển đổi JavaScript – Ví dụ về câu lệnh chuyển đổi JS


Đôi khi trong JavaScript, bạn có thể cân nhắc sử dụng một switch tuyên bố thay vì một if else bản tường trình.

switch các câu lệnh có thể có cú pháp rõ ràng hơn phức tạp if else các câu lệnh.

Hãy xem ví dụ bên dưới – thay vì sử dụng từ này if else tuyên bố, bạn có thể chọn đi với một dễ dàng hơn để đọc switch bản tường trình.

const pet = "dog";

if (pet === "lizard") {
  console.log("I own a lizard");
} else if (pet === "dog") {
  console.log("I own a dog");
} else if (pet === "cat") {
  console.log("I own a cat");
} else if (pet === "snake") {
  console.log("I own a snake");
} else if (pet === "parrot") {
  console.log("I own a parrot");
} else {
  console.log("I don't own a pet");
}
const pet = "dog";
 
switch (pet) {
  case "lizard":
    console.log("I own a lizard");
    break;
  case "dog":
    console.log("I own a dog");
    break;
  case "cat":
    console.log("I own a cat");
    break;
  case "snake":
    console.log("I own a snake");
    break;
  case "parrot":
    console.log("I own a parrot");
    break;
  default:
    console.log("I don't own a pet");
    break;
}

Trong bài viết này, tôi sẽ giải thích câu lệnh switch là gì và cách chúng hoạt động. Tôi cũng sẽ giúp bạn tìm hiểu xem chúng có phải là một lựa chọn tốt để sử dụng trong mã của bạn hay không.

Tuyên bố chuyển đổi là gì?

Trong lập trình, một switch câu lệnh là một câu lệnh luồng điều khiển kiểm tra giá trị của một expression chống lại nhiều trường hợp.

Đây là cú pháp cơ bản cho một switch bản tường trình:

switch (expression) {
  case 1:
   //this code will execute if the case matches the expression
    break;
  case 2:
   //this code will execute if the case matches the expression
    break;
  case 3:
   //this code will execute if the case matches the expression
    break;
  default:
    //this code will execute if none of the cases match the expression
    break;
}

Máy tính sẽ đi qua switch tuyên bố và kiểm tra sự bình đẳng nghiêm ngặt === giưa caseexpression. Nếu một trong các trường hợp phù hợp với expressionthì mã bên trong đó case mệnh đề sẽ thực thi.

switch (expression) {
  case 1:
   //this code will execute if the case matches the expression
    break;
  case 2:
   //this code will execute if the case matches the expression
    break;
}

Nếu không có trường hợp nào phù hợp với biểu thức, thì default mệnh đề sẽ được thực hiện.

  default:
    //this code will execute if none of the cases match the expression
    break;

Nếu nhiều trường hợp phù hợp với switch tuyên bố, sau đó là đầu tiên case phù hợp với expression sẽ được sử dụng.

Đọc thêm  Đẩy vào một mảng trong JavaScript – Cách chèn một phần tử vào một mảng trong JS

break tuyên bố sẽ thoát ra khỏi switch khi mà case được khớp. Nếu break không có câu lệnh nào, thì máy tính sẽ tiếp tục thông qua switch tuyên bố ngay cả khi một trận đấu được tìm thấy.

Nếu return tuyên bố có mặt trong switchsau đó bạn không cần một break bản tường trình.

Ví dụ về câu lệnh Switch trong JavaScript

Trong ví dụ này, chúng ta đang so sánh "oboe" đến các trường hợp. "oboe" sẽ phù hợp với thứ ba case và sẽ in ra bàn điều khiển “I play the oboe”.

switch ("oboe") {
  case "trumpet":
    console.log("I play the trumpet");
    break;
  case "flute":
    console.log("I play the flute");
    break;
  case "oboe":
    console.log("I play the oboe");
    break;
  default:
    console.log("I don't play an instrument. Sorry");
    break;
}

Nếu tôi thay đổi biểu thức thành "no instrument"sau đó default mệnh đề sẽ thực thi và thông báo được in ra bảng điều khiển sẽ là “Tôi không chơi nhạc cụ. Xin lỗi”.

switch ("no instrument") {
  case "trumpet":
    console.log("I play the trumpet");
    break;
  case "flute":
    console.log("I play the flute");
    break;
  case "oboe":
    console.log("I play the oboe");
    break;
  default:
    console.log("I don't play an instrument. Sorry");
    break;
}

Thiếu tuyên bố nghỉ giải lao

Trong ví dụ này, trận đấu sẽ là case 2. Nhưng không có break tuyên bố, máy tính sẽ tiếp tục vào case 3 và default khoản.

Bạn sẽ thấy ba console.log tuyên bố vì một break tuyên bố không được bao gồm.

switch (2) {
  case 1:
    console.log("Number 1 was chosen");
  case 2:
    console.log("Number 2 was chosen");
  case 3:
    console.log("Number 3 was chosen");
  default:
    console.log("No number was chosen");
}
Screen-Shot-2021-08-04-at-10.20.10-PM

Đặt Mệnh đề Mặc định ở đâu

Quy ước tiêu chuẩn là đặt default như mệnh đề cuối cùng. Nhưng bạn cũng có thể đặt nó trước các trường hợp khác.

const food = "nuts";

switch (food) {
  case "cake":
    console.log("I like cake");
    break;
  case "pizza":
    console.log("I like pizza");
    break;
  default:
    console.log("I like all foods");
    break;
  case "ice cream":
    console.log("I like ice cream");
    break;
}
Screen-Shot-2021-08-04-at-11.22.42-PM

Máy tính vẫn sẽ xem xét từng trường hợp và tìm kết quả khớp. Kể từ khi biến food không khớp với bất kỳ trường hợp nào, thì default trường hợp sẽ được thực hiện.

Đọc thêm  Cách kiểm tra xem chuỗi có chứa chuỗi con hay không trong JavaScript

Nhiều trường hợp cho một hoạt động

Có thể đôi khi bạn có một thao tác giống nhau cho nhiều trường hợp.

Thay vì viết ra giống nhau console.log đối với mỗi trường hợp, chúng ta có thể bỏ qua break báo cáo và đặt một hoạt động số ít sau nhóm các trường hợp.

Thông báo, “Đất nước này ở châu Âu.” sẽ in ra bàn điều khiển nếu country phù hợp với bất kỳ trường hợp của "France", "Spain", "Ireland" hoặc "Poland".

const country = "Ireland";
switch (country) {
  case "France":
  case "Spain":
  case "Ireland":
  case "Poland":
    console.log("This country is in Europe.");
    break;
  case "United States":
  default:
    console.log("This country is not in Europe.");
}

Chặn phạm vi và câu lệnh chuyển đổi

Ví dụ này sẽ tạo ra một thông báo lỗi, bởi vì message biến đã được khai báo và bạn không thể có cùng tên biến trong cùng phạm vi khối.

const errand = "Going Shopping";
switch (errand) {
  case "Going to the Dentist":
    let message = "I hate going to the dentist";
    console.log(message);
    break;
  case "Going Shopping":
    let message = "I love to shop";
    console.log(message);
    break;
  default:
    console.log("No errands");
    break;
}
Screen-Shot-2021-08-05-at-12.45.29-AM

Để loại bỏ thông báo lỗi đó, các trường hợp cần được bao bọc trong một bộ dấu ngoặc nhọn.

const errand = "Going Shopping";
switch (errand) {
  case "Going to the Dentist": {
    let message = "I hate going to the dentist";
    console.log(message);
    break;
  }
  case "Going Shopping": {
    let message = "I love to shop";
    console.log(message);
    break;
  }
  default: {
    console.log("No errand");
    break;
  }
}
Screen-Shot-2021-08-05-at-12.51.50-AM

Phần kết luận

Sử dụng một switch tuyên bố có thể là một thay thế cho một if else bản tường trình. Một switch câu lệnh so sánh giá trị của một expression đến nhiều trường hợp.

Đọc thêm  Giải thích về độ dài mảng JavaScript

switch báo cáo sẽ kiểm tra sự bình đẳng nghiêm ngặt. Trong ví dụ này, vì "2"!== 2các default mệnh đề sẽ thực thi.

switch (2) {
  case "2":
    console.log("Number 2 in a string");
    break;
  case "3":
    console.log("Number 3 in a string");
    break;
  default:
    console.log("Number not present");
    break;
}

break tuyên bố sẽ thoát ra khỏi switch khi mà case được khớp. Nếu break không có câu lệnh nào, thì máy tính sẽ tiếp tục thông qua switch tuyên bố ngay cả khi một trận đấu được tìm thấy.

Tôi hy vọng bạn thích bài viết này trên switch các câu lệnh.



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status