openplanning

Kiểu dữ liệu Boolean trong Dart

  1. Boolean
  2. Dart Boolean vs Javascript Boolean

1. Boolean

Trong ngôn ngữ lập trình Dart, bool là kiểu dữ liệu được hỗ trợ sẵn, nó chỉ bao gồm 2 giá trị là truefalse.
bool cũng là tên của lớp đại diện cho kiểu dữ liệu này.
Cú pháp để khai báo một biến kiểu bool:
bool myVariable1 = true;

bool myVariable2 = false;
Ví dụ:
bool_ex1.dart
void main() {
  bool value;
  value = 100 > 25;
  print(value); // true
}
Output:
true

2. Dart Boolean vs Javascript Boolean

Ngôn ngữ lập trình Dart đã vay mượn rất nhiều ý tưởng từ JavaScript, đó là lý do vì sao nó rất dễ dàng được chuyển đổi thành mã JavaScript. Tuy nhiên kiểu dữ liệu bool trong DartJavaScript có một vài khác biệt.
  • Trong JavaScript các giá trị false, 0, "", null, undefined, NaNNumber.Infinite được coi là false. Các giá trị khác được coi là true.
  • Trong Dart, chỉ truefalse được coi là kiểu bool, các giá trị khác không thể chuyển đổi thành kiểu bool.
Trong JavaScript bạn có thể viết đoạn code giống dưới đây, và nó được chấp nhận là hợp lệ:
Javascript code
var test = "abc";

if(test) {
   console.log("OK! test is true");
} else {
   console.log("Ohh no, test is false");
}
Output:
OK! test is true
Tuy nhiên bạn không thể viết một đoạn code tương tự trong Dart:
Dart code (ERROR!)
void main() {
  var test = "abc";

  if (test) { // ERROR at compile time.
    print("OK! test is true");
  } else {
    print("Ohh no, test is false");
  }
}
Bạn sẽ nhận được thông báo lỗi từ trình biên dịch Dart:
Error compiling to JavaScript:
Warning: Interpreting this as package URI, 'package:dartpad_sample/main.dart'.
lib/main.dart:4:7:
Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
  if (test) { // ERROR at compile time.
      ^
Error: Compilation failed.