codestory

Boolescher Datentyp in Dart

  1. Boolean
  2. Dart Boolean vs Javascript Boolean

1. Boolean

In der Programmiersprache Dart ist bool ein unterstützter Datentyp, der nur 2 Werte enthält, true und false..
bool ist auch der Name der Klasse, die diesen Datentyp repräsentiert.
Syntax zum Deklarieren einer Variablen vom Typ bool:
bool myVariable1 = true;

bool myVariable2 = false;
Zum Beispiel:
bool_ex1.dart
void main() {
  bool value;
  value = 100 > 25;
  print(value); // true
}
Output:
true

2. Dart Boolean vs Javascript Boolean

Die Programmiersprache Dart entlehnt viele Ideen von JavaScript, weshalb sie sich so einfach in Code JavaScript umwandeln lässt. Der Datentyp bool in Dart und JavaScript hat jedoch einige Unterschiede.
  • In JavaScript gelten die Werte false, 0, "", null, undefined, NaN und Number.Infinite als false. Andere Werte gelten als true.
  • In Dart werden nur true und false als bool betrachtet, andere Werte können nicht in bool umgewandelt werden.
In JavaScript können Sie folgenden Code schreiben, der als gültig akzeptiert wird:
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
Sie können jedoch keinen ähnlichen Code in Dart schreiben:
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");
  }
}
Sie erhalten eine Fehlermeldung vom Dart-Compiler:
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.