条件分岐
if 文
if 文を使うと、特定の条件の時だけ実行される処理を書くことができます。
次のプログラムを実行すると、未成年です。
と表示されますが、1 行目を let age = 18;
に変更すると何も表示されなくなります。
let age = 12;
if (age < 18) {
document.write("未成年です。");
}
2 行目の if (age < 18)
がポイントです。
age < 18
は true
になります。
if 文では、(
と )
で囲まれた部分が、true
になると、{
と }
で囲まれた処理が実行されます。
このため、未成年です。
が表示されたのです。
確認問題
学校で小テストがありました。
テストの点数を表す変数 score
が用意されています。
点数が 80 点以上なら、合格です。
と表示してください。
let score = 85;
// ここにif文を書いてください。
解答例: 小テスト
let score = 85;
if (score >= 80) {
document.write("合格です。");
}
if ~ else 文
if ~ else 文を使うと、条件が満たされなかったときの処理を書くことができます。
次のプログラムを実行すると、age
が 18
未満の場合は 未成年です。
が表示されますが、18
以上の場合は 成年です。
が表示されます。
let age = 12;
if (age < 18) {
document.write("未成年です。");
} else {
document.write("成年です。");
}
age < 18
の結果が true
の場合は 3 行目が実行され、false
の場合は 5 行目が実行されています。
if ~ else if ~ else 文
if ~ else if ~ else 文を使うと、複雑な条件を表すことができます。
次のプログラムを実行すると、変数 weather
が "晴れ"
の場合は、今日は晴れです。
と表示されます。
変数 weather
が "晴れ"
ではなく "雨"
の場合は、今日は雨です。傘を持ちましょう。
と表示されます。
変数 weather
が "晴れ"
でも "雨"
でもない場合は、天気がわかりません。
と表示されます。
let weather = "晴れ";
if (weather === "晴れ") {
document.write("今日は晴れです。");
} else if (weather === "雨") {
document.write("今日は雨です。傘を持ちましょう。");
} else {
document.write("天気がわかりません。");
}
演習問題
自分の年齢を表す変数 age
が用意されています。
自分の年齢が 18 歳未満なら 選挙権はありません。
と表示して、18 歳以上 25 歳未満なら 投票に行けます。
と表示して、25 歳以上なら 衆議院議員に立候補できます。
と表示してください。
let age = 12;
// ここにif~else if~else文を書いてください。
解答例: 選挙権
let age = 12;
if (age < 18) {
document.write("選挙権はありません。");
} else if (age < 25) {
document.write("投票に行けます。");
} else {
document.write("衆議院議員に立候補できます。");
}
4 行目は age < 25
ではなく 18 <= age && age < 25
ではないかと思ったかもしれません。
しかし、age < 25
と書くことも正しいです。
これは、age < 18
が true
になり 3 行目が実行された場合、4 行目は実行されないからです。