Dartはブールデータ型の組み込みサポートを提供し、Dartのブールデータ型はtrue
とfalse
の2つの値のみをサポートします。キーワードbool
は、Dartでブールテキストを表すために使用されます。
Dartでブール変数を宣言するための構文は次のとおりです。
bool var_name = true;
// 或は
bool var_name = false
実例1
void main() {
bool test;
test = 12 > 5;
print(test);
}
上記のコードを実行した後、出力結果は以下のとおりです。
true
実例2
JavaScriptとは異なり、ブールデータ型はリテラルtrue
のみをtrue
として認識します。その他の値はすべてfalse
と見なされます。次には例を挙げます。
var str = 'abc';
if(str) {
print('String is not empty');
} else {
print('Empty String');
}
JavaScriptで実行すると、上記のコードは「String is not empty
」というメッセージを出力します。文字列が空でない場合、if
構造体はtrue
を返します。
ただし、Dartでは、str != true
であるため、str
はfalse
に変換されます。これにより、コードは「Empty String
」というメッセージを出力します(未チェックのモードで実行している場合)。
実例3
チェックモードで実行している場合、上記のコードは例外をスローします。
void main() {
var str = 'abc';
if(str) {
print('String is not empty');
} else {
print('Empty String');
}
}
チェックモードで出力結果は以下のとおりです。
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)
チェックモードで出力結果は以下のとおりです。
Empty String
ヒント – デフォルトでは、WebStorm IDEはチェックモードで実行されます。
コメントを残す