Dart为布尔数据类型提供内置支持。 Dart中的布尔数据类型仅支持两个值 - true和false。 关键字bool用于声明Dart中的布尔变量。

在Dart中声明布尔变量的语法如下所示

bool var_name = true;   //申明一个值为true的布尔类型变量
OR  
bool var_name = false  //申明一个值为false的布尔类型变量

例子

void main() { 
   bool temp; 
   temp= 12 > 5; 
   print(temp); 
}

上面的代码会输出以下结果:

true

例子

与JavaScript不同,布尔数据类型仅将文字true识别为true。 任何其他值都被视为false。
请考虑一下以下的代码

var str = 'pipipi.net'; 
if(str) { 
   print('字符串不为空'); 
} else { 
   print('字符串为空'); 
}

如果在JavaScript中运行,上面的代码段将打印消息“String is not empty”,因为如果字符串不为空,if结构将返回true。

但是,在Dart中,str被转换为false,因为str!= true。 因此,代码段将打印消息“空字符串”(在未选中模式下运行时)。

例子

如果以检查模式运行,上面的代码片段将引发异常。 下面说明了同样的的情况

var str = 'pipipi.net'; 
if(str) { 
   print('字符串不为空'); 
} else { 
   print('字符串为空'); 
}

它将在严格模式(checked mode)下产生以下错误

Unhandled exception: 
type 'String' is not a subtype of type 'bool' of 'boolean expression' where 
   String is from dart:core 
   bool is from dart:core

它将以不是严格模式(checked mode)生成以下输出:

字符串为空

注意: 默认情况下,WebStorm IDE以严格模式运行。