Hướng dẫn này sẽ giúp bạn tìm hiểu cách thay thế một if/else
câu lệnh với cú pháp tốc ký ngắn gọn hơn được gọi là toán tử bậc ba.
Toán tử điều kiện – còn được gọi là toán tử bậc ba – là một dạng thay thế của toán tử if/else
câu lệnh giúp bạn viết các khối mã điều kiện theo cách ngắn gọn hơn.
Cú pháp của toán tử điều kiện trông như sau:
conditional ? expression_when_true : expression_when_false;
Đầu tiên, bạn cần phải viết một biểu thức điều kiện đánh giá thành một trong hai true
hoặc false
. Nếu biểu thức trả về true, JavaScript sẽ thực thi mã bạn viết ở phía bên trái của toán tử dấu hai chấm (:
) khi nó trả về false, mã ở bên phải của toán tử dấu hai chấm được thực thi.
Để hiểu nó hoạt động như thế nào, hãy so sánh nó với một if/else
bản tường trình. Giả sử bạn có một chương trình nhỏ chỉ định các điểm kiểm tra khác nhau tùy thuộc vào điểm kiểm tra của bạn:
- Khi bạn có số điểm cao hơn 80, bạn chỉ định điểm “A”.
- Nếu không, bạn chỉ định điểm “B”.
Đây là một cách để viết chương trình:
let score = 85;
let grade;
if(score >= 80){
grade = "A";
} else {
grade = "B";
}
console.log(`Your exam grade is ${grade}`);
Ngoài ra, bạn có thể viết đoạn mã trên bằng toán tử bậc ba như sau:
let score = 85;
let grade = score >= 80 ? "A" : "B";
console.log(`Your exam grade is ${grade}`);
Và ở đó bạn đi. Tốc ký toán tử bậc ba trông ngắn gọn và súc tích hơn so với cách viết thông thường if/else
bản tường trình.
Nhưng nếu mã của bạn yêu cầu nhiều if/else
các câu lệnh? Điều gì sẽ xảy ra nếu bạn thêm điểm “C” và “D” vào phần đánh giá?
let score = 85;
let grade;
if(score >= 80){
grade = "A";
} else if (score >= 70) {
grade = "B";
} else if (score >= 60) {
grade = "C";
} else {
grade = "D";
}
console.log(`Your exam grade is ${grade}`);
Đừng lo lắng! Bạn có thể viết nhiều toán tử bậc ba để thay thế đoạn mã trên như thế này:
let score = 85;
let grade = score >= 80 ? "A"
: score >= 70 ? "B"
: score >= 60 ? "C"
: "D";
console.log(`Your exam grade is ${grade}`);
Tuy nhiên, không nên thay thế nhiều if/else
các câu lệnh có nhiều toán tử bậc ba vì nó làm cho mã khó đọc hơn trong tương lai. Tốt nhất là gắn bó với một trong hai if/else
hoặc switch
tuyên bố cho những trường hợp như vậy.
Cảm ơn đã đọc hướng dẫn này
Tôi hy vọng nó đã giúp bạn hiểu cách thức hoạt động của toán tử bậc ba. Nếu bạn thích hướng dẫn này, bạn có thể muốn xem trang web của tôi tại sebhastian.com để biết thêm các tính năng JavaScript.
Ngoài ra, tôi có một bản tin miễn phí hàng tuần về các hướng dẫn phát triển web (chủ yếu liên quan đến JavaScript).