betacode

Тип данных Boolean в Dart

  1. Boolean
  2. Dart Boolean vs Javascript Boolean

1. Boolean

В языке программирования Dart, book является поддерживаемым типом данных, который включает только 2 значения, true и false.
bool также является именем класса, представляющего этот тип данных.
Синтаксис для объявления переменной типа bool:
bool myVariable1 = true;

bool myVariable2 = false;
Например:
bool_ex1.dart
void main() {
  bool value;
  value = 100 > 25;
  print(value); // true
}
Output:
true

2. Dart Boolean vs Javascript Boolean

Язык программирования Dart заимствует много идей из JavaScript, поэтому он так легко преобразуется в код JavaScript. Однако тип данных bool в Dart и JavaScript имеет несколько отличий.
  • В JavaScript значения false, 0, "", null,undefined, NaN и Number.Infinite считаются false. Другие значения считаются true.
  • В Dart только true и false считаются bool, другие значения не могут быть преобразованы в bool.
В JavaScript вы можете написать код, как показано ниже, который считается допустимым:
Javascript code
var test = "abc";

if(test) {
   console.log("OK! test is true");
} else {
   console.log("Ohh no, test is false");
}
Output:
OK! test is true
Однако вы не можете написать аналогичный код в Dart:
Dart code (ERROR!)
void main() {
  var test = "abc";

  if (test) { // ERROR at compile time.
    print("OK! test is true");
  } else {
    print("Ohh no, test is false");
  }
}
Вы получите сообщение об ошибке от компилятора Dart:
Error compiling to JavaScript:
Warning: Interpreting this as package URI, 'package:dartpad_sample/main.dart'.
lib/main.dart:4:7:
Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
  if (test) { // ERROR at compile time.
      ^
Error: Compilation failed.