Menu
CoddyTech

Toán tử kiểm tra kiểu

Thuộc phần Kiến thức cơ bản trong hành trình Dart của Coddy. Bài học 26 trên 94.

Các toán tử kiểm tra kiểu dữ liệu của Dart kiểm tra kiểu dữ liệu của biến khi chạy: is xác minh biến có khớp với một kiểu dữ liệu hay không, còn is! kiểm tra xem biến có không khớp hay không.

void main() {
  var number = 42;
  var isInteger = number is int;
  
  print('Is $number an integer? $isInteger');
}
void main() {
  var price = 9.99;
  var isNotInteger = price is! int;
  
  print('Is $price not an integer? $isNotInteger');
}
void main() {
  var value1 = 'Hello';
  var value2 = 42;
  var value3 = true;
  
  print('$value1 is a String: ${value1 is String}');
  print('$value2 is a double: ${value2 is double}');
  print('$value3 is a bool: ${value3 is bool}');
}
challenge icon

Thử thách

Dễ

Tạo một chương trình Dart sử dụng các toán tử kiểm tra kiểu (is và is!) để kiểm tra kiểu dữ liệu của biến:

  1. Tạo biến number có giá trị 42 bằng cách suy luận kiểu (var)
  2. Tạo biến decimal có giá trị 3.14 bằng cách suy luận kiểu
  3. Tạo biến text có giá trị "Hello" bằng cách suy luận kiểu
  4. Tạo biến active có giá trị true bằng cách suy luận kiểu
  5. Dùng toán tử is để kiểm tra xem mỗi biến có đúng kiểu dữ liệu của nó không (int, double, String, bool)
  6. Dùng toán tử is! để kiểm tra xem mỗi biến có KHÔNG thuộc kiểu dữ liệu không đúng hay không
  7. In kết quả theo đúng định dạng trong đầu ra dự kiến

Đầu ra phải khớp chính xác với định dạng sau:

number is int: true
number is! String: true
decimal is double: true
decimal is! int: true
text is String: true
text is! bool: true
active is bool: true
active is! double: true

Tự làm thử

void main() {
  // Tạo các biến bằng cách suy luận kiểu dữ liệu (type inference)
  // Thay mỗi chỗ trống bằng một giá trị có kiểu dữ liệu được nêu trong dòng in ra tương ứng
  var number = null;
  var decimal = null;
  var text = null;
  var active = null;
  
  // Dùng các toán tử kiểm tra kiểu dữ liệu để kiểm tra và in ra kết quả
  // Thay mỗi chỗ trống bằng một phép kiểm tra kiểu dữ liệu để mỗi dòng in ra một giá trị boolean
  print("number is int: ${number}");
  print("number is! String: ${number}");
  
  print("decimal is double: ${decimal}");
  print("decimal is! int: ${decimal}");
  
  print("text is String: ${text}");
  print("text is! bool: ${text}");
  
  print("active is bool: ${active}");
  print("active is! double: ${active}");
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức cơ bản

Tự luyện tập: Trình biên dịch Dart online