Учебники

Программирование дротиков — логическое

Dart предоставляет встроенную поддержку для логического типа данных. Логический тип данных в DART поддерживает только два значения — true и false. Ключевое слово bool используется для представления логического литерала в DART.

Синтаксис объявления логической переменной в DART такой, как приведенный ниже —

bool var_name = true;  
OR  
bool var_name = false 

пример

Live Demo

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

Это даст следующий результат

true 

пример

В отличие от JavaScript, логический тип данных распознает только литерал true как true. Любое другое значение считается ложным. Рассмотрим следующий пример —

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

Приведенный выше фрагмент, если он выполняется в JavaScript, выведет сообщение «String is not empty», поскольку конструкция if вернет true, если строка не пуста.

Однако в Dart str преобразуется в false как str! = True . Следовательно, фрагмент будет печатать сообщение «Пустая строка» (при запуске в режиме без проверки).

пример

Приведенный выше фрагмент при запуске в проверенном режиме вызовет исключение. То же самое показано ниже —

Live Demo

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

В режиме проверки он выдаст следующий вывод:

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)

В режиме Unchecked будет получен следующий вывод:

Empty String

Примечание. По умолчанию среда IDE WebStorm работает в проверенном режиме.