条件分岐とは
条件分岐は、プログラミングにおいて非常に重要な概念です。
プログラミングにおいては、しばしば
- ある条件を満たすときは、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歳以上という条件を表現できます。