Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Toán tử điều kiện (Conditional/Ternary Operator) trong JavaScript


Toán tử điều kiện (ternary operator) đánh giá biểu thức true/false và thực thi một trong hai câu lệnh dựa trên kết quả.

STTToán tử & Mô tả
1? : (Conditional)
Nếu Condition true? Giá trị X : Ngược lại giá trị Y

Ví dụ

<html>
  <body>
    <script>
      var a = 10;
      var b = 20;
      var linebreak = "<br />";
      document.write("((a > b) ? 100 : 200) => ");
      result = (a > b) ? 100 : 200;
      document.write(result);
      document.write(linebreak);
      document.write("((a < b) ? 100 : 200) => ");
      result = (a < b) ? 100 : 200;
      document.write(result);
      document.write(linebreak);
    </script>
    <p>Thay đổi giá trị biến và toán tử để thử...</p>
  </body>
</html>

Cú pháp

condition ? exprIfTrue : exprIfFalse

Ví dụ thực tế

// Gán giá trị mặc định
const isLoggedIn = true;
const greeting = isLoggedIn ? "Welcome back!" : "Please log in";

// Kiểm tra tuổi
const age = 20;
const status = age >= 18 ? "Adult" : "Minor";

// Trong JSX (React)
return <div>{isLoading ? <Spinner /> : <Content />}</div>;

// Nested ternary (nên tránh, khó đọc)
const result = score > 90 ? "A" : score > 70 ? "B" : "C";

Lưu ý

  • Ternary là expression (trả về giá trị), khác if/else là statement.
  • Dùng cho logic đơn giản, gán biến, render điều kiện.
  • Logic phức tạp → dùng if/else hoặc switch cho readability.
  • Không lồng ternary quá sâu (clean code).