Programowanie w rzutkach - Boolean

Dart zapewnia wbudowaną obsługę typu danych Boolean. Typ danych Boolean w DART obsługuje tylko dwie wartości - prawda i fałsz. Słowo kluczowe bool jest używane do reprezentowania literału boolowskiego w DART.

Składnia deklarowania zmiennej boolowskiej w DART jest następująca:

bool var_name = true;  
OR  
bool var_name = false

Przykład

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

Spowoduje to, co następuje output -

true

Przykład

W przeciwieństwie do JavaScript, typ danych Boolean rozpoznaje tylko literał prawda jako prawda. Każda inna wartość jest uważana za fałszywą. Rozważmy następujący przykład -

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

Powyższy fragment kodu, jeśli zostanie uruchomiony w języku JavaScript, wydrukuje komunikat „Ciąg nie jest pusty”, ponieważ konstrukcja if zwróci wartość true, jeśli ciąg nie jest pusty.

Jednak w Dart strjest konwertowany na fałsz jako str! = true . W związku z tym fragment kodu wydrukuje komunikat „Pusty ciąg” (po uruchomieniu w trybie niezaznaczonym).

Przykład

Powyższy fragment, jeśli się pojawi checkedmode zgłosi wyjątek. To samo pokazano poniżej -

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

Spowoduje to, co następuje output, w 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)

Spowoduje to, co następuje output, w Unchecked Mode -

Empty String

Note - The WebStorm IDE działa domyślnie w trybie zaznaczenia.