Skip to Content
Dart📘 Ngôn ngữ DartToán tử ba ngôi (Ternary Operator)

Toán tử ba ngôi (Ternary Operator) trong Dart

1. Giới thiệu

Toán tử ba ngôi (? :) là cách viết gọn của câu lệnh if-else trên một dòng.

2. Cú pháp

condition ? expressionIfTrue : expressionIfFalse

3. Ví dụ cơ bản

void main() { int age = 20; String status = age >= 18 ? 'Người lớn' : 'Trẻ em'; print(status); // Người lớn }

4. So sánh với if-else

// Với if-else String result; if (score >= 50) { result = 'Đậu'; } else { result = 'Rớt'; } // Với ternary operator String result = score >= 50 ? 'Đậu' : 'Rớt';

5. Ternary lồng nhau

void main() { int score = 75; String grade = score >= 90 ? 'A' : score >= 80 ? 'B' : score >= 70 ? 'C' : score >= 60 ? 'D' : 'F'; print('Điểm: $grade'); // C }

6. Sử dụng trong Widget Flutter

Text( isLoggedIn ? 'Xin chào, $username' : 'Vui lòng đăng nhập', style: TextStyle( color: isError ? Colors.red : Colors.black, ), )

7. Kết hợp với null-aware

String? name; String displayName = name != null ? name : 'Guest'; // Hoặc dùng ?? String displayName = name ?? 'Guest';

8. Best Practices

// ✅ Dùng cho biểu thức đơn giản var status = isActive ? 'On' : 'Off'; // ❌ Tránh ternary phức tạp var result = a > b ? (c > d ? x : y) : (e > f ? m : n); // ✅ Dùng if-else cho logic phức tạp

📝 Tóm tắt

  • Cú pháp: condition ? trueValue : falseValue
  • Thay thế if-else đơn giản
  • Tránh lồng quá nhiều cấp
  • Phổ biến trong Flutter UI
Last updated on