Programação Dart - Boolean

O Dart fornece um suporte embutido para o tipo de dados booleano. O tipo de dados booleano no DART suporta apenas dois valores - verdadeiro e falso. A palavra-chave bool é usada para representar um literal booleano no DART.

A sintaxe para declarar uma variável booleana no DART é fornecida a seguir -

bool var_name = true;  
OR  
bool var_name = false

Exemplo

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

Irá produzir o seguinte output -

true

Exemplo

Ao contrário do JavaScript, o tipo de dados booleano reconhece apenas o verdadeiro literal como verdadeiro. Qualquer outro valor é considerado falso. Considere o seguinte exemplo -

var str = 'abc'; 
if(str) { 
   print('String is not empty'); 
} else { 
   print('Empty String'); 
}

O trecho acima, se executado em JavaScript, imprimirá a mensagem 'String não está vazia', já que a construção if retornará true se a string não estiver vazia.

No entanto, em Dart, stré convertido em falso como str! = true . Portanto, o snippet imprimirá a mensagem 'String vazia' (quando executado no modo não verificado).

Exemplo

O snippet acima é executado em checkedmodo lançará uma exceção. O mesmo é ilustrado abaixo -

void main() { 
   var str = 'abc'; 
   if(str) { 
      print('String is not empty'); 
   } else { 
      print('Empty String'); 
   } 
}

Irá produzir o seguinte output, dentro 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  
#0 main (file:///D:/Demos/Boolean.dart:5:6) 
#1 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:261) 
#2 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)

Irá produzir o seguinte output, dentro Unchecked Mode -

Empty String

Note - o WebStorm IDE é executado no modo marcado, por padrão.