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

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

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

bool var_name = true;  
OR  
bool var_name = false

пример

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

Это приведет к следующему output -

true

пример

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

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

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

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

пример

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

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

Это приведет к следующему output, в 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)

Это приведет к следующему output, в Unchecked Mode -

Empty String

Note - The WebStorm IDE по умолчанию работает в отмеченном режиме.