Dart-programming-boolean

提供:Dev Guides
移動先:案内検索

Dartプログラミング-ブール

Dartは、ブールデータ型の組み込みサポートを提供します。 DARTのブールデータ型は、trueとfalseの2つの値のみをサポートします。 キーワードboolは、DARTでブールリテラルを表すために使用されます。

DARTでブール変数を宣言するための構文は以下のとおりです-

bool var_name = true;
OR
bool var_name = false

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

次の output が生成されます-

true

JavaScriptとは異なり、ブールデータ型はリテラルtrueのみをtrueとして認識します。 その他の値はすべて偽と見なされます。 次の例を考慮してください-

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

上記のスニペットをJavaScriptで実行すると、文字列が空でない場合にif構造体がtrueを返すため、「文字列が空ではありません」というメッセージが出力されます。

ただし、Dartでは、 str はstr!= true_として_falseに変換されます。 そのため、スニペットは_ ‘空の文字列’ _というメッセージを出力します(チェックなしモードで実行した場合)。

上記のスニペットを checked モードで実行すると、例外がスローされます。 同じことを以下に示します-

void main() {
   var str = 'abc';
   if(str) {
      print('String is not empty');
   } else {
      print('Empty String');
   }
}
*Checked Mode* で次の *output* を生成します-
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 Mode* で、次の *output* を生成します-
Empty String

- WebStorm IDEはデフォルトでチェックモードで実行されます。