真偽値 – Dart逆引きリファレンス

2012.03.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

真偽値(Booleans)

条件による処理の分岐をしたい

IF文を使用します。書式はJavaScript等と同様のものとなります。

num number = 0;
if (0 < number) {
  print('Positive');
} else if (number < 0) {
  print('Negative');
} else {
  print('Zero');
}
[/javascript]
<h3 id="item_02">条件によって異なる値を変数へ代入したい</h3>
<p>三項演算子( ? : )を使用します。</p>

<h3 id="item_03">空文字のチェックをしたい</h3>
<p>Stringインスタンスが持つ「<strong>isEmpty</strong>」メソッドを使用します。</p>

String empty = '';
if (empty.isEmpty()) {
  print('Empty.');
} else {
  print('Not empty.');
}

ゼロ値のチェックをしたい

ゼロ値のチェックには関係演算子「==」を使用します。

var isZero = (num number) => number == 0;
isZero(0); // == true

ヌル値のチェックをしたい

ヌル値のチェックには関係演算子「==」を使用します。

var isNull = (Object obj) => obj == null;
isNull(null); // == true

NaN値のチェックをしたい

NaN値のチェックにはメソッド「isNaN」を使用します。

num number = 0 / 0;
number.isNaN(); // == true

未定義値のチェックをしたい

Dartは未定義値(undefined)の概念を持たない為、チェックを要することはありません。

厳密な等価「===」をチェックしたい

==」が既に型の相違を偽とみなす為、「===」を使用する必要はありません。
文字列は、異なるオブジェクトでも構成される文字コードが一致すれば真となります。

var number5 = 5;
var char5 = '5';

number5 == char5  // == false, JavaScriptでは「true」となる
number5 === char5 // == false

var letterA = 'A';
var charA = new String.fromCharCodes([65]);

letterA == charA // == true

備考

「JavaScriptにみられる『!object』のような条件式は用いない!」と心に留めておくと良いと思います。(^^)