libro
www.tuyano.com
初心者のためのDart 2入門

制御構文をマスターする (2/5)

作成:2018-03-17 08:28
更新:2018-03-17 08:28

■条件式について

if文は、条件に応じて異なる処理を行うためのものですが、もっと単純に「異なる値を用意する」というだけなら、条件式というものを利用できます。

・条件式
条件 ? 値1 : 値2

条件式は、という2つの演算子を使い、3つの項目が1セットになって記述します。そのことから「3項演算子」と呼ばれたりします。

最初の項目は、条件です。これはif文と同様、真偽値として扱える式や値が使われます。そしてこの条件がtrueだと、その後の「値1」が値として取り出されます。falseだった場合は、:の後にある「値2」が取り出されます。
void main() {
  var x = 1234;
  print('${x}は、${x % 2 == 0 ? "偶数" : "奇数"}です。');
}
例えば、このようにすると、変数xの値によって「偶数です」「奇数です」と表示が変わります。${}で埋め込んだ部分で、条件式によりx % 2 == 0のがtrueかfalseかで異なるテキストが得られるようになっていることがわかりますね。

・Null条件式
条件式にはもう1つ、ユニークなものがあります。それは、「Nullか否か」をチェックするものです。Nullというのは、値が存在しない状態を表すものです。例えば、var x;というように変数を宣言しただけで何も代入していない状態、などですね。

Null条件式は、「??」という記号を使って以下のように記述します。

・Null条件式
値1 ?? 値2

最初の「値1」がNullでない場合は、そのまま値1が使われます。が、もし値1がNullだった場合には、??の後にある「値2」が使われます。要するに、「Nullだったときのために予備の値を用意しておく」というわけですね。
void main() {
  var x;
  print('あなたの名前は、${x ?? "noname"}です。');
}
例えば、これは変数xに値が設定されていれば「あなたの名前は、○○です」と表示されますが、何も値が設定されていなければ「あなたの名前は、nonameです」と表示されます。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※サンプル1
void main() {
  var x = 1234;
  print('${x}は、${x % 2 == 0 ? "偶数" : "奇数"}です。');
}

※サンプル2
void main() {
  var x;
  print('あなたの名前は、${x ?? "noname"}です。');
}
※関連コンテンツ

「初心者のためのDart 2入門」に戻る