条件分岐とは

条件分岐は、プログラミングにおいて非常に重要な概念です。

プログラミングにおいては、しばしば

  • ある条件を満たすときは、Aという処理を行う
  • 条件を満たさないときは、Bという処理を行う

といった処理を記述する必要がでてきます。
このような処理を条件分岐といいます。

例えば、ある人の年齢が与えられたときに、

  • 年齢が18歳未満であれば、「子供です」とログ出力する
  • 年齢が18歳以上であれば、「大人です」とログ出力する

プログラムについて考えてみましょう。
(ログ出力については、こちらの解説をご覧ください: ログを出力しよう - 入門コース

このプログラムのコードは次のように書くことができます。

let age = 15; if (age < 18) { console.log("子供です"); } else { console.log("大人です"); }

このコードを実行すると、子供ですとログ出力されます。

コードを解説していきます。
まず、変数 age を宣言して、15を代入しています。

if (age < 18)

そしてここの部分で、条件を記述しています。
条件を記述するには、 if という構文を使用します。
このコードでは、変数 age の値が18未満であれば、続く {} 内の処理が実行されます。

else

ここの部分は、先にあげた条件(変数 age の値が18未満)を満たさない場合を意味しています。
満たさない場合、続く {} 内の処理が実行されます。

今回のコードでは、変数 age の値は15なので、

console.log("子供です");

が実行されることになります。

比較演算子

先ほどのコードの例であげた age < 18< の部分を比較演算子といいます。
比較演算子には次のようなものがあります。

比較演算子意味
>左辺が右辺よりも大きい
>=左辺が右辺以上
<左辺が右辺よりも小さい
<=左辺が右辺以下
===左辺と右辺が同じ
!==左辺と右辺が異なる

 
例えば、年齢が18歳のときだけログ出力したい場合は、次のようになります。

if(age === 18) { console.log("成人年齢です"); }

else if 文

先ほどのコードより少し複雑な次のような条件分岐を記述することもできます。

  • 年齢が18歳未満であれば、「子供です」とログ出力する
  • 年齢が18歳以上65歳未満であれば、「大人です」とログ出力する
  • 年齢が65歳以上であれば、「高齢者です」とログ出力する

次のようなコードになります。

let age = 25; if (age < 18) { console.log("子供です"); } else if (age < 65) { console.log("大人です"); } else { console.log("高齢者です"); }

このコードを実行すると、大人ですとログ出力されます。

else if という新しい構文が登場しました。
これを使うと、1つ前の条件(変数 age の値が18未満)を満たさない場合、
さらに条件判定をすることができます。

else if (age < 65)

これにより、年齢が18歳以上65歳未満のときに、続く {} 内の処理が実行されることになります。

AND条件

年齢が18歳以上かつ65歳未満であれば「大人です」とログ出力するという処理を、
1つのif文で記述することができます。

次のようなコードになります。

let age = 25; if (age >= 18 && age < 65) { console.log("大人です"); }

このコードを実行すると、大人ですとログ出力されます。

ここで新しく登場した && が、 AND条件(かつ) を表しています。
2つの条件式を && でつなぐことにより、年齢が18歳以上かつ65歳未満という条件を表現できます。

OR条件

年齢が18歳未満または65歳以上であれば「子供か高齢者です」とログ出力するという処理を、
1つのif文で記述することができます。

次のようなコードになります。

let age = 15; if (age < 18 || age >= 65) { console.log("子供か高齢者です"); }

このコードを実行すると、子供か高齢者ですとログ出力されます。

ここで新しく登場した || が、 OR条件(または) を表しています。
2つの条件式を || でつなぐことにより、年齢が18歳未満または65歳以上という条件を表現できます。

コース一覧

ゲーム開発コース

数学コース

アートコース

入門コース

このサイトについて


© 2022 ルートアイ All rights reserved.