Программирование дротиков - логическое
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 по умолчанию работает в отмеченном режиме.