Trong lập trình, việc kiểm soát luồng xử lý thường dựa vào các câu điều kiện. Một trong những cách để viết câu điều kiện một cách ngắn gọn và hiệu quả là sử dụng toán tử ba ngôi (ternary operator) và các điều kiện rút gọn. Bài viết này sẽ giải thích về cách sử dụng toán tử ba ngôi và cách tối ưu hóa mã nguồn với các điều kiện rút gọn.
Toán tử ba ngôi (Ternary Operator)
Toán tử ba ngôi là một cách viết tắt của câu điều kiện if-else
, giúp giảm bớt độ dài của mã nguồn và làm cho nó trở nên trực quan hơn. Cú pháp của toán tử ba ngôi như sau:
condition ? expr1 : expr2;
Trong đó:
condition
: Là một biểu thức điều kiện. Nếu đúng (true), biểu thứcexpr1
sẽ được thực thi.expr1
: Biểu thức được thực thi nếucondition
đúng.expr2
: Biểu thức được thực thi nếucondition
sai.
Ví dụ:
let age = 18;
let canVote = (age >= 18) ? "Đủ tuổi bầu cử" : "Chưa đủ tuổi bầu cử";
console.log(canVote); // Output: Đủ tuổi bầu cử
Như vậy, thay vì sử dụng câu điều kiện if-else
, ta có thể sử dụng toán tử ba ngôi để viết mã ngắn gọn hơn.
Các điều kiện rút gọn
Ngoài toán tử ba ngôi, việc sử dụng các điều kiện rút gọn (short-circuit conditions) cũng là một kỹ thuật phổ biến để tối ưu hóa mã nguồn. Khi làm việc với các toán tử logic như &&
(AND) và ||
(OR), chúng ta có thể lợi dụng tính chất ngắn mạch của chúng.
Toán tử &&
(AND)
Toán tử &&
sẽ trả về giá trị đầu tiên là false
hoặc giá trị cuối cùng nếu tất cả các điều kiện đúng. Điều này có nghĩa là, nếu biểu thức đầu tiên là false
, JavaScript sẽ không đánh giá biểu thức còn lại.
Ví dụ:
let isLoggedIn = true;
let message = isLoggedIn && "Chào mừng bạn đã quay lại!";
console.log(message); // Output: Chào mừng bạn đã quay lại!
Trong trường hợp này, nếu isLoggedIn
là true
, biểu thức "Chào mừng bạn đã quay lại!"
sẽ được thực thi.
Toán tử ||
(OR)
Toán tử ||
sẽ trả về giá trị đầu tiên là true
, hoặc giá trị cuối cùng nếu tất cả các điều kiện là false
.
Ví dụ:
let username;
let defaultName = "Khách";
let displayName = username || defaultName;
console.log(displayName); // Output: Khách
Nếu username
là undefined
hoặc false
, displayName
sẽ lấy giá trị của defaultName
.
Kết hợp toán tử ba ngôi và điều kiện rút gọn
Chúng ta có thể kết hợp cả hai kỹ thuật này để viết mã ngắn gọn và hiệu quả hơn. Điều này đặc biệt hữu ích khi xử lý các giá trị mặc định hoặc khi cần kiểm tra nhiều điều kiện liên tiếp.
Ví dụ:
let userRole = 'admin';
let access = (userRole === 'admin' && 'Truy cập quản trị') || (userRole === 'editor' && 'Truy cập biên tập viên') || 'Truy cập người dùng';
console.log(access); // Output: Truy cập quản trị
Trên đây là các kỹ thuật sử dụng toán tử ba ngôi và các điều kiện rút gọn để tối ưu hóa mã nguồn. Hiểu rõ và áp dụng đúng những kỹ thuật này không chỉ làm cho mã nguồn của bạn trở nên ngắn gọn, mà còn giúp tăng hiệu suất và dễ dàng bảo trì.
Comments