Dart 使用 bool 类型表示布尔值。
    Dart 只有字面量 true and false 是布尔类型, 这两个对象都是编译时常量。
    Dart 是强 bool 类型检查,只有 bool 类型的值是 true 才被认为是 true。

    1. var s1 = true;
    2. bool s2 = true;
    3. // 验证是否布尔值
    4. print(s1 is bool); //true
    5. print(s2 is bool); //true

    Dart 的类型安全意味着不能使用 if (_nonbooleanValue_) 或者 assert (_nonbooleanValue_)。 而是应该像下面这样,明确的进行值检查:

    1. // 检查空字符串。
    2. var fullName = '';
    3. assert(fullName.isEmpty);
    4. // 检查 0 值。
    5. var hitPoints = 0;
    6. assert(hitPoints <= 0);
    7. // 检查 null 值。
    8. var unicorn;
    9. assert(unicorn == null);
    10. // 检查 NaN 。
    11. var iMeantToDoThis = 0 / 0;
    12. assert(iMeantToDoThis.isNaN);