Amazon 数量限定タイムセール開催中

【ES6】JavaScript:if文とは?

【ES6】JavaScript:if文とは?

このページでは、JavaScriptを学ぶ上で欠かせない「if文」について、初めての方にもわかりやすく解説しています。

if文の基礎から実際に使える便利な方法まで紹介していますので、よければチェックしてみてください。

ノーノちゃん

if文って「もし◯◯だったら~」みたいなやつ?
そうです。条件によってプログラムの動きを変えることができる便利なものです。

ぶたさん

1. if文とは?

JavaScriptのif文とは?

名前 if文
できた時期 1995年
できること 条件が当てはまったときに処理を行う
(もし◯◯だったら△△する)

 
if文とは「もし◯◯だったら△△してね!」とプログラムに指示を出すための命令文のようなものです。

たとえば、次のような年齢確認で使われています。

■あなたは20歳以上ですか?
「はい」→サイトを表示する
「いいえ」→サイトを表示しない

これはまず「20歳以上かどうか」をチェックし、その結果によってサイトを表示するかどうかを決めています。

このように、if文を使うことで指定した条件に合わせて、プログラムの処理を変えられるようになります。

2. if文の基礎知識

if文の基礎知識

ここではif文の基礎知識について解説します。

if文は次のような構成になっています。

js
コピー 拡大
if (条件式) {処理内容}
if これからif文を使いますよという合図
「もし◯◯だったら△△する」の『もし~』の部分
(条件式) 条件が当てはまるかどうかを調べる式
「もし◯◯だったら△△する」の『◯◯だったら』の部分
{処理内容} 条件が当てはまったときにすること
「もし◯◯だったら△△する」の『△△する』の部分
それではひとつずつ詳しく解説していきます。

ぶたさん

if

ifの意味
if文のifについての解説です。
js
コピー 拡大
if (条件式) {処理内容}

ifは「ここからif文を使うよ!」とプログラムに伝えるための合図のようなものです。

たとえば、会話中に相手が「もし〜」と話しはじめたら、「これから仮定の話が始まるんだな」と分かりますよね。

プログラムも同じで、ifを見たときに「ここからif文を書いているんだな」と理解します。

ノーノちゃん

ifのあとの()は何なの?
()はif文の条件式を書く場所です。

ぶたさん

(条件式)

if文の条件式とは?
if文の(条件式)についての解説です。
js
コピー 拡大
if (条件式) {処理内容}

条件式とは()カッコ内に書く条件のことです。

正しく言うと「指定した条件に当てはまるか、当てはまらないかを調べる式」のことです。

条件式は次のように書きます。

js
コピー 拡大
if (age >= 20) {処理内容}

これは「もし、age(年齢)が20歳以上だったら」という意味です。

このときに20歳以上なら「当てはまる」、20歳より小さければ「当てはまらない」というふうに判断されます。

プログラムはこの結果をもとに次の処理内容へ進みます。

ノーノちゃん

条件式はどうやって書けばいいの?
条件式は「変数→記号→値」の順番で書きます。詳しくは次の項目で解説しますね。

ぶたさん

条件式の書き方

こちらが条件式の書き方になります。

js
コピー 拡大
変数  記号  値
age    >=    20
変数 調べたいもの
記号 比べるための記号
比べる数字や文字

 
基本的には左から「変数→記号→値」の順番で書きます。

条件式を書くときは、そのまま文章に変換しても意味がわかるように心がけることがポイントです。

条件式の例

実際に条件式を書くと、次のような感じになります。

js
コピー 拡大
score >= 60 // スコアは60以上?
js
コピー 拡大
age < 18 // 年齢は18歳以下?
js
コピー 拡大
isLogin === true // ログインしてますか?
js
コピー 拡大
name === "田中さん" // 名前は田中さん?

条件式で使う記号一覧

演算子 意味
> 右より大きい a > 10
(aは10より大きい)
< 右より小さい a < 5
(aは5より小さい)
> = 右より大きいか等しい a > = 5
(aは5以上)
< = 右より小さいか等しい a < = 5
(aは5以下)
== 値が同じ a == b
(aとbは値が同じ)
=== 値も型も同じ a === b
(aとbは値も型も同じ)
!= 値が同じではない a != b
(aとbは値が違う)
!== 値も型も同じではない a !== b
(aとbは値と型が違う)
比較演算子は「AとBはどっちが大きい?」「AとBは同じ?」のように比べるための記号です。

ぶたさん

演算子 意味
&& 両方とも当てはまるとき条件達成 A && B
(AもBも両方が当てはまればOK)
|| どちらか1つでもあてはまれば条件達成 A || B
(AかBどちらか当てはまればOK)
! 条件を逆にする !A
(Aじゃないとき~)
論理演算子は「条件が両方とも合ってる?」「どれか1つでも条件が合ってる?」とチェックするための記号です。

ぶたさん

{処理内容}

if文の処理内容とは
if文の{処理内容}についての解説です。
js
コピー 拡大
if (条件式) {処理内容}

処理内容とは{}カッコ内に書く、条件が当てはまったときにする処理の内容のことです。

実際に処理内容を書くと次のようになります。

js
コピー 拡大
if (score >= 80) {
  console.log("合格です");
}

console.log("合格です");の部分が処理内容にあたります。

このコードは「もしscore(点数)が80点以上だったら、コンソール画面に”合格です”とメッセージを表示する」という意味です。

条件に合っていればメッセージが表示され、条件が合っていなければ何も表示されません。

ノーノちゃん

処理内容は条件に当てはまったときだけ実行されるの?
この場合はそうです。しかし、if文の種類によっては条件に当てはまらない場合にする処理を書くことができます。

ぶたさん

3. if文の書き方(基礎)

if文の書き方(基礎)

ここではif文の種類について解説しています。

if文は次のように3つ種類があります。

種類 意味
if 「もし◯◯なら△△する」
else if 「もし◯◯ではなく▢▢なら✕✕をする」
else 「どの条件にも当てはまらない場合は☆☆する」
それではひとつずつ見ていきましょう。

ぶたさん

if文

ifの書き方
ifの書き方、使い方を解説しています。
js
コピー 拡大
if (条件式) {
 // ここに条件が合っていたときにする処理を書く
}
名前 if
読み方 イフ
意味 「もし◯◯なら△△する」
できること 条件が合ったときに指定した処理を行う
条件が合わない時 ・何もしない
・次のelse if、またはelseに進む

 
if文は「もし◯◯なら△△するよ」とプログラムに指示を出すためのものです。

条件が合っていれば、その中に書いてある処理が実行されます。反対に条件が合っていなければ、その処理は行われません。

ただし、次の条件(else if、else)を書いている場合、次の条件に合うかどうか順番にチェックしていきます。

if文の例

JavaScriptのif文例
js
コピー 拡大
let score = 85;

if (score >= 80) {
  console.log("評価:A");
}
コンソール(実行結果)
コピー 拡大
評価:A
  1. let score = 85;
    「score」という名前の変数を作り、85という点数を入れる。
  2. if (score >= 80){
    もし「score」が80点以上なら、{}の中の処理を実行する。
  3. console.log("評価:A");
    コンソール画面に「評価:A」と表示する。
【変数宣言のコード】
js
コピー 拡大
let score = 85;
コード 種別 意味
let 変数宣言
キーワード
中身を変更できる変数(箱)を作る宣言
score 変数名 変数(箱)の名前
= 代入演算子 右のものを左に入れる
85 変数値 変数(箱)の中身

 
【if文のコード】

js
コピー 拡大
if (score >= 80) {
  console.log("評価:A");
}
コード 種別 意味
if 制御構文
キーワード
もし◯◯なら△△する
() カッコ if文の条件式を囲む
score 変数名 比較対象の変数
>= 比較演算子 右より大きいか等しい
80 比較対象の数値
console.log() 出力命令 ()の中身をコンソールに表示

else if文

else if書き方
else ifの書き方、使い方を解説しています。
js
コピー 拡大
if (条件1) {
  // 条件1が合っていたときにする処理を書く
} else if (条件2) {
  // 条件2が合っていたときにする処理を書く
}
名前 else if
読み方 エルス・イフ
意味 「もし◯◯ではなく▢▢なら✕✕をする」
できること ifの条件が合わなかったとき、別の条件でもう一回チェックする
条件が合わない時 次のelse if、またはelseに進む

 
else if文は「もし◯◯ではなく▢▢なら✕✕をするよ」とプログラムに指示を出すためのものです。

if文の条件が合っていないときに、新たな条件でチェックするためのもだと考えるとわかりやすいです。

もし、指定した新たな条件に合っていれば、そのときに指定していた処理が行われます。

新たな条件にも合っていない場合は、さらに下に書かれているelse if、またはelseに進んでいきます。

else if文の例

JavaScriptのelse if文の例
js
コピー 拡大
const score = 75; // 75点の評価は?

if (score >= 80) {
  console.log("評価:A"); // 80点以上は「評価:A」
} else if (score >= 70) {
  console.log("評価:B"); // 70点以上は「評価:B」
}
コンソール(実行結果)
コピー 拡大
評価:B
  1. let score = 75;
    「score」という名前の変数を作り、75という点数を入れる。
  2. if (score >= 80){
    もし「score」が80点以上なら、{}の中の処理を実行する。
  3. console.log("評価:A");
    コンソール画面に「評価:A」と表示する。
  4. else if (score >= 70){
    上の条件に一致しない場合、もし70点以上なら、{}の中の処理を実行する。
  5. console.log("評価:B");
    コンソール画面に「評価:B」と表示する。
【変数宣言のコード】
js
コピー 拡大
let score = 75;
コード 種別 意味
let 変数宣言
キーワード
中身を変更できる変数(箱)を作る宣言
score 変数名 変数(箱)の名前
= 代入演算子 右のものを左に入れる
75 変数値 変数(箱)の中身

 
【else if文のコード】

js
コピー 拡大
if (score >= 80) {
  console.log("評価:A");
} else if (score >= 70) {
  console.log("評価:B");
}
コード 種別 意味
if 制御構文
キーワード
もし◯◯なら△△する
() カッコ if文の条件式を囲む
score 変数名 比較対象の変数
>= 比較演算子 右より大きいか等しい
80 比較対象の数値
console.log() 出力命令 ()の中身をコンソールに表示
else if 制御構文
キーワード
もし◯◯ではなく▢▢なら✕✕をする
70 比較対象の数値

else文

else書き方
elseの書き方、使い方を解説しています。
js
コピー 拡大
if (条件1) {
  // 条件1が合っていたときにする処理を書く
} else if (条件2) {
  // 条件2が合っていたときにする処理を書く
} else {
  // どの条件にも合っていないときにする処理を書く
}
名前 else
読み方 エルス
意味 「どの条件にも当てはまらないなら☆☆する」
できること これまでの条件がすべて当てはまらなかった場合に処理を行う

 
else文は「もしどの条件にも当てはまらなかったら☆☆をするよ」とプログラムに指示を出すためのものです。

if、またはelse ifの条件に当てはまらなかった場合、最後に必ず処理が行われるものだと覚えておきましょう。

else文の例

JavaScriptのelse文の例
js
コピー 拡大
const score = 60; // 60点の評価は?

if (score >= 80) {
  console.log("評価:A"); // 80点以上「評価:A」
} else if (score >= 70) {
  console.log("評価:B"); // 70点以上「評価:B」
} else {
  console.log("評価:C"); // それ以外の点数は「評価:C」
}
コンソール(実行結果)
コピー 拡大
評価:C
  1. let score = 60;
    「score」という名前の変数を作り、75という点数を入れる。
  2. if (score >= 80){
    もし「score」が80点以上なら、{}の中の処理を実行する。
  3. console.log("評価:A");
    コンソール画面に「評価:A」と表示する。
  4. else if (score >= 70){
    上の条件に一致しない場合、もし70点以上なら、{}の中の処理を実行する。
  5. console.log("評価:B");
    コンソール画面に「評価:B」と表示する。
  6. else {console.log("評価:C");}
    どの条件にも一致しない場合、コンソール画面に「評価:C」と表示する。
【変数宣言のコード】
js
コピー 拡大
let score = 60;
コード 種別 意味
let 変数宣言
キーワード
中身を変更できる変数(箱)を作る宣言
score 変数名 変数(箱)の名前
= 代入演算子 右のものを左に入れる
60 変数値 変数(箱)の中身

 
【else文のコード】

js
コピー 拡大
if (score >= 80) {
  console.log("合格です");
} else if (score >= 70) {
  console.log("あと少しで合格です");
} else {
  console.log("不合格です");
}
コード 種別 意味
if 制御構文
キーワード
もし◯◯なら△△する
() カッコ if文の条件式を囲む
score 変数名 比較対象の変数
>= 比較演算子 右より大きいか等しい
80 比較対象の数値
console.log() 出力命令 ()の中身をコンソールに表示
else if 制御構文
キーワード
もし◯◯ではなく▢▢なら✕✕をする
70 比較対象の数値
else 制御構文
キーワード
どの条件にも当てはまらないなら☆☆する

 

4. if文の書き方(応用)

if文の書き方(応用)

ここではif文の応用的な書き方をご紹介しています。

応用方法が分かると、より複雑な条件分岐を行うことができるようになりますのでプログラミングの幅が広がります!

複数条件の組み合わせ(入れ子)

if文条件を入れ子にする
複数条件の組み合わせ(入れ子/ネスト)の解説です。
js
コピー 拡大
if (条件1) {
  if (条件2) {
    // 条件1、条件2どちらも当てはまったときにする処理
  }
}
名前 if
読み方 イフ
意味 「もし◯◯で▢▢なら△△する」
できること 条件が合っていたとき、さらに別の条件をチェックし、合っていたとき指定した処理を行う

 
if文では複数の条件を入れ子(ネスト)のように使うことできます。

具体的には「もし◯◯で、さらに▢▢…だったら△△するよ」というように、条件を順番にチェックすることが可能です。

ゲームで例えると「ボスを倒していて、さらにカギを持っていたら次のステージへ進める」という感じです。

条件をどんどん絞っていけるので、細かい処理をしたいときにとても役立ちます。

ぶたさん

複数条件の組み合わせ(入れ子)の例

js
コピー 拡大
const hasKey = true;
const level = 12;

if (hasKey) {
  if (level >= 10) {
    console.log("宝箱が開いた!");
  }
}
コンソール(実行結果)
コピー 拡大
宝箱が開いた!
  1. const hasKey = true;
    「hasKey」という名前の変数を作り「true(カギを持っている)」という真偽値を入れる。
  2. const level = 12;
    level」という名前の変数を作り「12(キャラのレベルが12)」という数値を入れる。
  3. if (hasKey) {
    「もしカギを持っているなら」{}の中の処理を実行する。
  4. if (level >= 10) {console.log("宝箱が開いた!");}}
    さらに「もしレベルが10以上なら」コンソール画面に「宝箱が開いた!」と表示する
【変数宣言のコード】
js
コピー 拡大
const hasKey = true;
const level = 12;
コード 種別 意味
const 変数宣言
キーワード
中身を変更できる変数(箱)を作る宣言
hasKey 変数名 変数(箱)の名前
= 代入演算子 右のものを左に入れる
true 真偽値 「はい」という意味
level 変数名 変数(箱)の名前
12 変数値 変数(箱)の中身

 
【if文のコード】

js
コピー 拡大
if (hasKey) {
  if (level >= 10) {
    console.log("宝箱が開いた!");
  }
}
コード 種別 意味
if 制御構文
キーワード
もし◯◯なら△△する
() カッコ if文の条件式を囲む
hasKey 変数名 カギを持っているかどうかを表す変数の名前
if 制御構文
キーワード
(入れ子のif)さらに別の条件をチェックする
level 変数名 レベルが10以上かどうかを表す変数の名前
>= 比較演算子 右より大きいか等しい
10 比較対象の数値
console.log() 出力命令 ()の中身をコンソールに表示

複数条件の組み合わせ(AND)

複数条件の組み合わせ(AND)の解説
複数条件の組み合わせるための記号「&&(AND)」の解説です。
js
コピー 拡大
if (条件A && 条件B) {
  // 条件A、条件Bがどちらも当てはまったときの処理
} else {
  // どちらかが当てはまらないときの処理
}
名前 &&
読み方 AND(アンド)
意味 「◯◯と▢▢だったら✕✕をする」
できること 2つ以上の条件が すべて当てはまったときだけ処理を行う

 
&&は「もし◯◯と▢▢の両方が当てはまったら✕✕をするよ」という指示を出すためのものです。

たとえば、ハムエッグを作るには「ハム」と「たまご」の両方が揃わないと作れませんよね?

このように「2つ以上の条件が揃ったとき」のみ処理を行うという特徴があります。

どちらか1つでも条件が合っていなければ、その処理は行われませんので覚えておきましょう。

複数条件の組み合わせ(AND)の例

js
コピー 拡大
const isMember = true;
const age = 22;

if (isMember && age >= 18) {
  console.log("利用できます");
} else {
  console.log("利用できません");
}
コンソール(実行結果)
コピー 拡大
利用できます
  1. const isMember = true;
    「isMember」という名前の変数を作り「true(会員である)」と真偽値を入れる。
  2. const age = 22;
    「age」という名前の変数を作り「22」という数値を入れる。
  3. if (isMember && age >= 18){}
    「もし会員である」かつ「18歳以上」であれば、{}内の処理をする。
  4. {console.log("利用できます");}
    コンソール画面に「利用できます」と表示する。
  5. else {console.log("利用できません");}
    上の条件に一致しない場合、コンソール画面に「利用できません」と表示する。
【変数宣言のコード】
js
コピー 拡大
const isMember = true;
const age = 22;
コード 種別 意味
const 変数宣言
キーワード
中身を変更できる変数(箱)を作る宣言
isMember 変数名 変数(箱)の名前
= 代入演算子 右のものを左に入れる
true 真偽値 「はい」という意味
age 変数名 変数(箱)の名前
22 変数値 変数(箱)の中身

 
【if文のコード】

js
コピー 拡大
if (isMember && age >= 18) {
  console.log("利用できます");
} else {
  console.log("利用できません");
}
コード 種別 意味
if 制御構文
キーワード
もし◯◯なら△△する
() カッコ if文の条件式を囲む
isMember 変数名 会員かどうかを表す変数の名前
&& 論理演算子 左がtrueなら右にそれを伝える
age 変数名 年齢を表す変数の名前
>= 比較演算子 右より大きいか等しい
18 比較対象の数値
console.log() 出力命令 ()の中身をコンソールに表示
else 制御構文
キーワード
どの条件にも当てはまらないなら☆☆する

複数条件の組み合わせ(OR)

複数条件の組み合わせ(OR)の解説
複数条件の組み合わせるための記号「||(OR)」の解説です
js
コピー 拡大
if (条件A || 条件B) {
  // 条件Aか条件Bのどちらかが当てはまったときの処理
} else {
  // どちらの条件にも当てはまらないときの処理
}
名前 ||
読み方 OR(オア)
意味 「◯◯か▢▢のどちらかが当てはまっていれば✕✕する」
できること 2つ以上の条件の内、当てはまっているものがあれば処理を行う

 
||は「もし◯◯か▢▢のどちらかに当てはまっていれば✕✕をするよ」という指示を出すためのものです。

たとえば、朝食のとき「ごはん」か「パン」のどちらかがあれば食べることができますよね。

このように、いくつかある条件の中で、どれか1つでも当てはまれば処理が行われるという点です。

逆にどの条件にも当てはまらない場合は処理が行われません。

&&と少し似ていますが、次のような違いがありますので覚えておきましょう。

構文 処理が行われる条件
&& 両方の条件が当てはまっていた場合
|| どれか1つでも条件が当てはまっていた場合

複数条件の組み合わせ(OR)の例

js
コピー 拡大
const hasTicket = false;
const hasMemberCard = true;

if (hasTicket || hasMemberCard) {
  console.log("入場できます!");
} else {
  console.log("入場できません…");
}
コンソール(実行結果)
コピー 拡大
入場できます!
  1. const hasTicket = false;
    「hasTicket」という名前の変数を作り、「false(チケットを持っていない)」という真偽値を入れる。
  2. const hasMemberCard = true;
    「hasMemberCard」という名前の変数を作り、「true(会員証を持っている)」という真偽値を入れる。
  3. if (hasTicket || hasMemberCard) {console.log("入場できます!");
    「もしチケットを持っている または 会員証を持っている」なら、コンソール画面に「入場できます!」と表示する。
  4. else {console.log("入場できません…");}
    どの条件にも一致しない場合、コンソール画面に「入場できません…」と表示する。
【変数宣言のコード】
js
コピー 拡大
const hasTicket = false;
const hasMemberCard = true;
コード 種別 意味
const 変数宣言
キーワード
中身を変更できる変数(箱)を作る宣言
hasTicket 変数名 変数(箱)の名前
= 代入演算子 右のものを左に入れる
false 真偽値 「いいえ」という意味
hasMemberCard 変数名 変数(箱)の名前
true 真偽値 「はい」という意味

 
【if文のコード】

js
コピー 拡大
if (hasTicket || hasMemberCard) {
  console.log("入場できます!");
} else {
  console.log("入場できません…");
}
コード 種別 意味
if 制御構文
キーワード
もし◯◯なら△△する
() カッコ if文の条件式を囲む
hasTicket 変数名 チケットを持っているかどうかを表す変数の名前
|| 論理演算子 ◯◯か▢▢のどちらかが当てはまっていれば✕✕する
hasMemberCard 変数名 会員カードを持っているかどうかを表す変数の名前
console.log() 出力命令 ()の中身をコンソールに表示
else 制御構文
キーワード
どの条件にも当てはまらないなら☆☆する

条件の否定(NOT)

条件の否定(NOT)の解説
条件の否定をするための記号「!(NOT)」の解説です。
js
コピー 拡大
if (!条件) {
  // 条件が「当てはまらない」ときに行う処理
} else {
  // 条件が「当てはまる」ときに行う処理
}
名前 !
読み方 NOT(ノット)
意味 「◯◯じゃないとき✕✕する」
できること 条件を反対の意味に変えてチェックしたいときに使う

 
!は「もし◯◯じゃないときは✕✕をするよ」という指示を出すためのものです。

通常のif文では「雨だったら傘を持っていく」というように、条件が当てはまったときのみ処理が行われますよね。

しかし、NOTでは考え方を反対にして「晴れじゃないときは傘を持っていく」という書き方ができます。

つまり、雨でも曇りでも雪でも、ぜんぶ「晴れ以外」なので傘を持っていくことになるという仕組みです。

!は見づらく、意味が分かりにくいというデメリットがあります。なるべく使わないようにしましょう。

ぶたさん

条件の否定(NOT)の例

js
コピー 拡大
const isSunny = false; // 晴れではない

if (!isSunny) {
  console.log("傘を持っていくよ");
} else {
  console.log("傘はいらないよ");
}
コンソール(実行結果)
コピー 拡大
傘を持っていくよ
  1. const isSunny = false;
    「isSunny」という名前の変数を作り、「false(晴れていない)」という真偽値を入れる。
  2. if (!isSunny) {console.log("傘を持っていくよ");
    「もし晴れていない」なら、コンソール画面に「傘を持っていくよ」と表示する。
  3. } else {console.log("傘はいらないよ");}
    上の条件に当てはまらない場合(=晴れている場合)、コンソール画面に「傘はいらないよ」と表示する。
【変数宣言のコード】
js
コピー 拡大
const isSunny = false;
コード 種別 意味
const 変数宣言
キーワード
中身を変更できる変数(箱)を作る宣言
isSunny 変数名 変数(箱)の名前
= 代入演算子 右のものを左に入れる
false 真偽値 「いいえ」という意味

 
【if文のコード】

js
コピー 拡大
if (!isSunny) {
  console.log("傘を持っていくよ");
} else {
  console.log("傘はいらないよ");
}
コード 種別 意味
if 制御構文
キーワード
もし◯◯なら△△する
() カッコ if文の条件式を囲む
isSunny 変数名 晴れているかどうかを表す変数の名前
! 論理演算子 ◯◯じゃないとき✕✕する
console.log() 出力命令 ()の中身をコンソールに表示
else 制御構文
キーワード
どの条件にも当てはまらないなら☆☆する

for文との組み合わせ(for)

if文とfor文との組み合わせ
if文とfor文との組み合わる方法の解説です。
js
コピー 拡大
for (初期値; 条件式; 増減) {
  if (条件) {
    // 条件が合っていたときにする処理を書く
  }
}
名前 for
読み方 フォー
意味 「もし◯◯だったら△△するを繰り返し使える」
できること たくさんのデータを順番にチェックして、条件に合ったものだけ処理する

 
if文とfor文を組み合わせると「同じことを何回もしながら、条件によってやることを変える」ことができるようになります。

通常では、くり返し処理の中で条件に応じた判断をするたびに同じコードを書かなければなりません。

しかし、for文の中にif文を入れておけば、くり返しごとに条件をチェックして必要な処理だけを自動で実行できます。

if文とfor文との組み合わせる例

js
コピー 拡大
const scores = [95, 75, 60, 85];

for (let i = 0; i < scores.length; i++) {
  if (scores[i] >= 90) {
    console.log("A評価");
  } else if (scores[i] >= 70) {
    console.log("B評価");
  } else {
    console.log("C評価");
  }
}
コンソール(実行結果)
コピー 拡大
A評価
B評価
C評価
B評価
  1. const scores = [95, 75, 60, 85];
    「scores」という名前の変数を作り、配列[]の中に4つの点数(95, 75, 60, 85)を入れる
  2. for (let i = 0; i < scores.length; i++) {
    「scores」の中の要素を順番に取り出す繰り返しを始める。「i」は0から始まり、配列の最後まで増えていく
  3. if (scores[i] >= 90) {console.log("A評価");}
    取り出した点数が90以上なら、コンソール画面に「A評価」と表示する
  4. else if (scores[i] >= 70) {console.log("B評価");}
    取り出した点数が90未満で、70以上ならコンソール画面に「B評価」と表示する
  5. else {console.log("C評価");}
    それ以外の場合はコンソール画面に「C評価」と表示する
【配列のコード】
js
コピー 拡大
const scores = [95, 75, 60, 85];
コード 種別 意味
const 変数宣言
キーワード
中身を変更できる変数(箱)を作る宣言
scores 変数名 変数(箱)の名前
= 代入演算子 右のものを左に入れる
[] 配列リテラル 配列。複数のデータを1つにまとめられる箱
95, 75, 60, 85 数値 配列に入っているデータ
; 区切り記号 文末につける記号

 
【for文のコード】

js
コピー 拡大
for (let i = 0; i < scores.length; i++)
コード 種別 意味
for 制御構文 指定した回数だけ処理をくり返す命令
() カッコ for文の制御部分
let 変数宣言
キーワード
中身を変更できる変数(箱)を作るという宣言
i カウンタ変数 何回処理をくり返したか数えるための変数
= 代入演算子 右のものを左に入れる
0 初期値 くり返しをスタートする際の最初の値
; 区切り記号 文末につける記号
< 比較演算子 右より小さい
scores 変数 点数が入った配列の名前
.length プロパティ 配列にいくつの点数が入っているか数える
i++ インクリメント
演算子
iの値を1ずつ増やす

【if文のコード】

js
コピー 拡大
if (scores[i] >= 90) {
    console.log("A評価");
  } else if (scores[i] >= 70) {
    console.log("B評価");
  } else {
    console.log("C評価");
  }
コード 種別 意味
if 制御構文
キーワード
もし◯◯なら△△する
() カッコ if文の条件式を囲む
scores 変数名 点数が入った配列の名前
[i] 添字 配列の中の「i番目」の点数を取り出す
>= 比較演算子 右より大きいか等しい
90 数値 比較対象の数値
console.log() 出力命令 ()の中身をコンソールに表示
else if 制御構文
キーワード
もし◯◯ではなく▢▢なら✕✕をする
else 制御構文
キーワード
どの条件にも当てはまらないなら☆☆する

 

forf文についてはこちらで詳しく解説しています。
【ES6】JavaScript:for文の書き方【ES6】JavaScript:for文の書き方

関数内でif文を使う(function)

関数内でif文を使う(function)
関数内でif文を使う方法の解説です。
js
コピー 拡大
function 関数名(引数) {
  if (条件1) {
    // 条件1が合っていたときにする処理を書く
  } else if (条件2) {
    // 条件2が合っていたときにする処理を書く
  } else {
    // どちらの条件にも合わなかったときの処理を書く
  }
}

// 関数を呼び出す例
関数名(値1); // → 条件1に合ったときの処理が実行
関数名(値2); // → 条件2に合ったときの処理が実行
関数名(値3); // → どちらにも合わなかったときの処理が実行
名前 function
読み方 ファンクション
意味 「関数の中で◯◯だったら△△する」
できること 一度作ったif文をあとから何回も使うことができる

 
関数の中でif文を使うと、一度作った「もし◯◯だったら△△するよ」という条件をあとから何回も使えるようになります。

通常では同じ条件のif文をもう一度使いたいときは、同じ内容のコードをもう一度書かなければなりません。

これでは、あとで内容を変えたくなったときに、あちこちにあるコードを探して一つずつ直さないといけなくなります。

しかし、関数の中にif文を入れておけば、あとから関数を呼び出すだけで何度も使うことができます。

コードが1か所にまとまっているので、直したいときもそこを直すだけで済むというメリットがあります。

関数内でif文を使う例

js
コピー 拡大
function checkScore(score) {
  if (score >= 90) {
    console.log("A評価");
  } else if (score >= 70) {
    console.log("B評価");
  } else {
    console.log("C評価");
  }
}

// 関数を呼び出す
checkScore(95);
checkScore(75);
checkScore(60);
コンソール(実行結果)
コピー 拡大
A評価
B評価
C評価
  1. function checkScore(score) {
    「checkScore」という名前の関数を作り「score(点数)」という値を受け取れるようにする
  2. if (score >= 90) {console.log("A評価");}
    もし「score」が90以上ならコンソールに「A評価」と表示する。
  3. if (score >= 70) {console.log("B評価");}
    もし「score」が70以上(かつ90未満)ならコンソールに「B評価」と表示する
  4. else {console.log("C評価");}
    それ以外の場合(70未満)はコンソールに「C評価」と表示する
  5. checkScore(95);
    関数「checkScore」に「95」という値を渡す。「score」が90以上なのでコンソールに「A評価」と表示される。
  6. checkScore(75);
    関数「checkScore」に「75」という値を渡す。「score」が70以上なのでコンソールに「B評価」と表示される。
  7. checkScore(60);
    関数「checkScore」に「60」という値を渡す。「score」が70未満なのでコンソールに「C評価」と表示される。
【関数のコード】
js
コピー 拡大
function checkScore(score) {}
コード 種別 意味
function 関数宣言
キーワード
関数(まとまった処理)の作成を始める合図
checkScore 関数名 関数の名前
(score) 引数 関数に渡される値の名前
{} ブロック 関数の中に書く処理を囲む

 
【if文のコード】

js
コピー 拡大
if (score >= 90) {
    console.log("A評価");
  } else if (score >= 70) {
    console.log("B評価");
  } else {
    console.log("C評価");
  }
コード 種別 意味
if 制御構文
キーワード
もし◯◯なら△△する
() カッコ if文の条件式を囲む
score 変数名 比較対象の変数
>= 比較演算子 右より大きいか等しい
90 比較対象の数値
console.log() 出力命令 ()の中身をコンソールに表示
else if 制御構文
キーワード
もし◯◯ではなく▢▢なら✕✕をする
70 比較対象の数値
else 制御構文
キーワード
どの条件にも当てはまらないなら☆☆する
console.log() 出力命令 ()の中身をコンソールに表示

 
【関数を呼び出すコード】

js
コピー 拡大
checkScore(95);
checkScore(75);
checkScore(60);
コード 種別 意味
checkScore(95) 関数呼び出し 95点でチェックして
checkScore(95) 関数呼び出し 75点でチェックして
checkScore(95) 関数呼び出し 60点でチェックして

早期リターン(return)

早期リターン(ガード節)の書き方
早期リターン(return)の解説です。
js
コピー 拡大
function sample() {
  if (条件1) {
    return; // 条件1に当てはまったらここで終わり
  }

  if (条件2) {
    return; // 条件2に当てはまったらここで終わり
  }

  // どの条件にも当てはまらなかったときの処理
}
名前 return
読み方 リターン
意味 「◯◯だったら処理を止める」
できること ・入れ子を抑える
・条件が成り立たないとき処理をやめる

 
早期リターンは「もし◯◯だったら、もうこれ以上続きをしなくていいよ」という指示を出すためのものです。

たとえば、先生からこんなふうなお願いされたとします。

先生「もし教室がキレイだったら掃除しなくていいよ。でも汚れていたら掃除してね。」
①もし教室がキレイだったら?
→掃除しないで終了
(条件が当てはまったので終了=早期リターン)
 
②もし教室が汚れていたら?
→掃除をする

この「もし教室がキレイだったら→掃除しないで終了」というところが早期リターンと同じです。

つまり、ある条件が当てはまったら、そこですぐに終わりにして続きはやらないということです。

ノーノちゃん

自分の仕事を終えたらすぐに帰宅するみたいだね。
まさにそんなイメージです。早期リターンはムダなことをやらない

ぶたさん

早期リターンの例

ここでは分かりやすいように「早期リターンなし」と「早期リターンあり」の2つのバージョンを載せています。

早期リターンなし版
js
コピー 拡大
function login(userId, password) {
  if (userId) {
    if (password) {
      console.log("ログイン成功!");
    } else {
      console.log("パスワードを入力してください");
    }
  } else {
    console.log("ユーザーIDを入力してください");
  }
}
コンソール(実行結果)
コピー 拡大
評価:B
  1. function login(userId, password) {
    「login」という関数を作り「userId」と「password」の2つの値を受け取れるようにする
  2. if (userId) {
    もし「userId」が入力されていれば…
  3. if (password) {console.log("ログイン成功!");}
    さらに「password が入力されていれば」、コンソール画面に「ログイン成功!」と表示する
  4. else {console.log("パスワードを入力してください");}
    「password」が入力されていなければ、コンソール画面に「パスワードを入力してください」と表示する
  5. else {console.log("ユーザーIDを入力してください");}
    「userId」が入力されていなければ、コンソール画面に「ユーザーIDを入力してください」と表示する
【関数のコード】
js
コピー 拡大
function login(userId, password) {}
コード 種別 意味
function 関数宣言
キーワード
関数(まとまった処理)の作成を始める合図
login 関数名 関数の名前
(userId, password) 引数 関数に渡される値の名前
{} ブロック 関数の中に書く処理を囲む

 
【if文のコード】

js
コピー 拡大
if (userId) {
    if (password) {
      console.log("ログイン成功!");
    } else {
      console.log("パスワードを入力してください");
    }
  } else {
    console.log("ユーザーIDを入力してください");
  }
コード 種別 意味
if 制御構文
キーワード
もし◯◯なら△△する
() カッコ if文の条件式を囲む
userId 変数名 ユーザーIDを表す変数の名前
password 変数名 パスワードを表す変数の名前
else 制御構文
キーワード
どの条件にも当てはまらないなら☆☆する
console.log() 出力命令 ()の中身をコンソールに表示
早期リターンあり
js
コピー 拡大
function login(userId, password) {
  if (!userId) {
    console.log("ユーザーIDを入力してください");
    return;
  }

  if (!password) {
    console.log("パスワードを入力してください");
    return;
  }

  console.log("ログイン成功!");
}
  1. function login(userId, password) {
    「login」という関数を作り「userId」と「password」の2つの値を受け取れるようにする
  2. if (!userId) {
      console.log("ユーザーIDを入力してください");
      return;
    }

    もし「userId」が入っていないなら、コンソール画面に「ユーザーIDを入力してください」と表示し、処理を終了する
  3. if (!password) {
      console.log("パスワードを入力してください");
      return;
    }

    もし「password」が入っていないなら、コンソール画面に「パスワードを入力してください」と表示し、処理を終了する
  4. console.log("ログイン成功!");
    「userId」も「password」も正しく入っていた場合、コンソール画面に「ログイン成功!」と表示する
【関数のコード】
js
コピー 拡大
function login(userId, password) {}
コード 種別 意味
function 関数宣言
キーワード
関数(まとまった処理)の作成を始める合図
login 関数名 関数の名前
(userId, password) 引数 関数に渡される値の名前
{} ブロック 関数の中に書く処理を囲む

 
【if文のコード】

js
コピー 拡大
if (!userId) {
    console.log("ユーザーIDを入力してください");
    return;
  }

  if (!password) {
    console.log("パスワードを入力してください");
    return;
  }

  console.log("ログイン成功!");
}
コード 種別 意味
if 制御構文
キーワード
もし◯◯なら△△する
() カッコ if文の条件式を囲む
! 論理演算子 ◯◯じゃないとき✕✕する
userId 変数名 ユーザーIDを表す変数の名前
password 変数名 パスワードを表す変数の名前
(!userId) 条件式 「userId」が未入力だったらという条件
(!password) 条件式 「password」が未入力だったらという条件
return 制御構文 条件が当てはまったらここで処理を終了
console.log() 出力命令 ()の中身をコンソールに表示

5. if文の注意点

if文の注意点

ここではif文を書くときの注意点を解説しています。

書く順番を気をつける

if文の注意点:条件を書く順番
if文を書くときは、条件を並べる順番に気をつけましょう。

if文は上から順番に条件をチェックしていき、当てはまったところで処理を止める仕組みになっています。

そのため、条件の順番を間違えると、思っていたのとはまったく違う結果になることがあります。

それでは、実際に「順番が正しい場合」と「順番を間違えた場合」の例を見てみましょう。

ぶたさん

順番が正しい例

js
コピー 拡大
let score = 85;           // scoreは85点です

if (score >= 80) {         // scoreが80点以上なら…評価:A
  console.log("評価:A");
} else if (score >= 70) {  // scoreが70点以上なら…評価:B
  console.log("評価:B");
} else {
  console.log("評価:C");
}
コンソール(実行結果)
コピー 拡大
評価:A

こちらは順番が正しい例です。

上から順番にチェックしていくと、最初の条件「scoreが80点以上なら…評価:A」に当てはまります。

scoreは85点なので「評価:A」になります。

順番をまちがえた例

js
コピー 拡大
let score = 85;           // scoreは85点です

if (score >= 70) {          // scoreが70点以上なら…評価:B
  console.log("評価:B");
} else if (score >= 80) {   // scoreが80点以上なら…評価:A
  console.log("評価:A");
} else {
  console.log("評価:C");
}
コンソール(実行結果)
コピー 拡大
評価:B

こちらは順番をまちがえた例です。

上から順番にチェックしていくと、最初の条件「scoreが70点以上なら…評価:B」に当てはまります。

if文は最初の条件が当てはまったら処理を終えるので、scoreが85点にも関わらず「評価:B」になりました。

本来であれば85点の評価はAとなるはずですが、書く順番を間違えたことにより意図しない結果になってしまいました。

ノーノちゃん

正しい順番で書くコツはないの?
条件の種類によって異なりますので一概には言えませんが、条件が厳しい順に書くといいかもしれません。

ぶたさん

= と == を書き間違える

代入演算子「=」と比較演算子「==」の違い
この2つの記号は見た目は似ていますが、役割はまったく違います。
js
コピー 拡大
a = 10   // 「10」を「a」という名前の箱に入れる
a == 10  // 「a」と「10」の値が同じか調べる
記号 種類 意味
= 代入演算子 右にあるものを、左の箱に入れる
== 比較演算子 左右の値が同じか調べる

実は===と書き間違えるケースが意外多いです。

プログラミングで使う=は「同じ」という意味ではなく、「右のものを左の箱に入れる」という意味です。

そのため、もし間違えると「比較するつもりが、箱に入れてしまった」ということが起きてしまいますので注意しましょう。

条件式に入れるとfalseになる値

if文の条件式に入れるとfalseになる値
下記の値を条件式に入れると「false(いいえ)」と判断されます。
js
コピー 拡大
if (条件式) // 条件式に入れると「false」になるケース
意味
false いいえ(条件が合っていない) if (false)
0 数値の0 if (0)
“” 空の文字列 if ("")
null 空を表す値 if (null)
undefined 値がまだ決まっていない真っ白な状態 if (undefined)
NaN 計算ミスでできた変な値 if (NaN)

なぜfalse(いいえ)になる?

条件式に特定の値を入れると「false(いいえ)」になる理由は、条件が成り立たなくなるからです。

if文ではまず最初に「この条件が合ってる?それとも合ってない?」とチェックしてから処理を行っていますよね。

しかし、条件そのものが「空っぽ」や「まだ決まっていない状態」 の場合、プログラムはどう判断していいかわからなくなります。

日常会話でたとえると、こんな感じです。

Aさん「もし、んひぷ#$@%なら一緒に遊ぼう」
Bさん「え?どういうこと?」

相手が何を言ってるのかわからない場合、返答に困りますよね。

これと同じように条件が意味不明な場合、プログラムは理解できないため、自動的にfalse(いいえ)と判断してしまいます。

ノーノちゃん

プログラミングの世界でもコミュニケーション能力が求められるんだね…。
プログラムもすべて理解してくれるわけではないので、伝わりやすいように書くことが重要です。

ぶたさん

6. if文に似た構文

if文に似た構文

ここではif文の代わりに使われる構文をご紹介しています。

これらをif文の代わりに使うことで、コードが読みやすくなる場合があるので知っておくと便利です。

条件演算子(三項演算子)

条件演算子(三項演算子)
if文に似た構文、条件演算子(三項演算子)の解説です。
js
コピー 拡大
条件 ? 処理1 : 処理2;

// 条件が当てはまった場合 → 処理1を実行
// 条件が当てはまらない場合 → 処理2を実行 
名前 ?
読み方 条件演算子(じょうけんえんざんし)
三項演算子(さんこうえんざんし)
意味 「もし◯◯なら△△、そうでなければ□□をする」
できること ・if文よりも短く書ける
・条件が2択しか使えないので分かりやすい

 
条件演算子(三項演算子)は「もし◯◯なら△△、そうでなければ□□をするよ」という指示を出すためのものです。

「条件が合っていたときと、合っていないときの処理を1行で決められるもの」と考えるとわかりやすいです。

条件が正しければ?のあとに書いた処理が行われ、条件が正しくなければ:のあとに書いた処理が実行されます。

条件演算子は条件が2つだけでの場合にしか使えないので、条件がたくさんあるときはif文を使いましょう。

条件演算子(三項演算子)の例

こちらは「20歳は大人?それとも未成年?」を調べるプログラムです。

ぶたさん

js
コピー 拡大
const age = 20;

const message = age >= 18 ? "大人です" : "未成年です";
console.log(message);
コンソール(実行結果)
コピー 拡大
大人です
  1. const age = 20;
    「age」という名前の変数を作り、「20」という数値(年齢)を入れる。
  2. const message = age >= 18 ? "大人です" : "未成年です";
    「age」が18以上なら「大人です」、それ以外なら「未成年です」という文字列を「message」という変数に入れる
  3. console.log(message);
    変数「message」の中身をコンソール画面に表示する。
【変数宣言のコード】
js
コピー 拡大
const age = 20;
コード 種別 意味
const 変数宣言
キーワード
中身を変更できる変数(箱)を作る宣言
age 変数名 変数(箱)の名前
= 代入演算子 右のものを左に入れる
20 変数値 変数(箱)の中身

 
【条件演算子(三項演算子)のコード】

js
コピー 拡大
const message = age >= 18 ? "大人です" : "未成年です";
console.log(message);
コード 種別 意味
const 変数宣言
キーワード
中身を変更できる変数(箱)を作る宣言
message 変数 結果のメッセージが入る箱の名前
= 代入演算子 右のものを左に入れる
age 変数名 比較対象の変数
>= 比較演算子 右より大きいか等しい
18 比較対象の数値
? 三項演算子 もし◯◯なら△△
: 三項演算子 そうでなければ□□する
console.log() 出力命令 ()の中身をコンソールに表示

 

Switch文

Switch文
if文に似た構文、Switch文の解説です。
js
コピー 拡大
switch (値) {
  case 値1:
    // 値が値1と一致した場合に実行する処理
    break;
  case 値2:
    // 値が値2と一致した場合に実行する処理
    break;
  default:
    // どの値にも当てはまらなかった場合に実行する処理
}
名前 switch
読み方 スイッチ
意味 「◯◯だったら△△をする」
「□□だったら☆☆をする」
「✕✕だったら……」
できること いくつもの条件をまとめて書いて、当てはまったものだけを処理する
条件が合わない時 どの条件にも当てはまらないとき、defaultに書かれた処理をする
ルール ・caseの後ろに「調べたい値」を書く
・breakをつけないと次の処理も続けて実行されてしまう

 
Switch文は「◯◯だったら△△をする」「□□だったら☆☆をする」というように、複数の条件をまとめて書くためのものです。

「たくさんの選択肢の中から、当てはまるものだけを実行するもの」と考えるとわかりやすいです。

複数の条件を順番にチェックしていき、当てはまったときに指定していた処理が行わます。

どれにも当てはまらなければ、最後に書いたdefaultの処理が行われるようになっています。

Switch文の例

js
コピー 拡大
const day = "金";

switch (day) {
  case "月":
    console.log("月曜日です");
    break;
  case "火":
    console.log("火曜日です");
    break;
  default:
    console.log("その他の日です");
}
コンソール(実行結果)
コピー 拡大
その他の日です
  1. const day = "金";
    「day」という名前の変数を作り、「金」という文字(曜日)を入れる。
  2. switch (day) {
    「day」の中に入っている曜日によって、実行する処理を分けますよ」という合図。
  3. case "月":
     console.log("月曜日です");
     break;

    もし「day」が月だったらコンソール画面に「月曜日です」と表示し、処理を終了する。
  4. case "火":
     console.log("火曜日です");
     break;

    もし「day」が火だったらコンソール画面に「火曜日です」と表示し、処理を終了する。
  5. default:
     console.log("その他の日です");

    上のどの曜日にも当てはまらなかったコンソール画面に「その他の日です」と表示する。
【変数宣言のコード】
js
コピー 拡大
const day = "金";
コード 種別 意味
const 変数宣言
キーワード
中身を変更できる変数(箱)を作る宣言
day 変数名 変数(箱)の名前
= 代入演算子 右のものを左に入れる
変数値 変数(箱)の中身

 
【switch文のコード】

js
コピー 拡大
switch (day) {
  case "月":
    console.log("月曜日です");
    break;
  case "火":
    console.log("火曜日です");
    break;
  default:
    console.log("その他の日です");
}
コード 種別 意味
switch 制御構文
キーワード
いくつかの中から当てはまるものを選ぶ命令
() カッコ switch文の条件式を囲む記号
day 変数名 比較対象の変数
day 変数名 比較対象の変数
>= 比較演算子 右より大きいか等しい
80 比較対象の数値
console.log() 出力命令 ()の中身をコンソールに表示

 

7. よくある質問

JavaScriptのif文に関するよくある質問

ここでは、JavaScriptのif文に関するよくある質問と回答をまとめています。

真偽値(Boolean)ってなに?

真偽値(Boolean)とは、次のように条件の答えを表す値です。

真偽値 意味
true はい(条件に当てはまってるよ!)
false いいえ(条件に当てはまってないよ!)

 
わかりやすく言えば、◯✕クイズの回答ボタンのようなものです。

プログラムはこの真偽値によって、次にする処理を決めています。

真偽値の例

■雨が降っていたら傘をさす
true(はい)→ 傘をさす
false(いいえ)→ 傘をささない

このように、プログラムは「true(はい)」か「false(いいえ)」を決めてから、次にすることを選んでいます。

ノーノちゃん

プログラムはどうやって「はい/いいえ」を決めているの?
人間が書いたコード(情報)を読み取って自動的に判断しています。

ぶたさん

なぜ条件式で変数を左側に書く?

結論から言うと読みやすいからです。

次のように実際にコードを比較してみると分かりやすいと思います。

js
コピー 拡大
if (score >= 50) 

こちらは「スコアが50以上なら~」という意味です。

文章にするととても読みやすいですよね。

js
コピー 拡大
if (50 <= score)

こちらは「50がスコア以上なら~」という意味です。

かなり違和感がある文章ですよね。

このように実際に文章にしてみると、変数を左側に書いたほうが理解しやすいことがわかると思います。

ノーノちゃん

変数を左側に書くことはないの?
通常はありません。ただし、次のように複数条件の組み合わせる場合は変数を右側に書くときがあります。

ぶたさん

変数を右側に書くケース

次のようなケースでは、変数を右側にも書くことがあります。

js
コピー 拡大
if (50 <= score && score <= 80)

こちらは「スコアが50以上、80以下なら~」という意味です。

「◯◯以上で◯◯以下なら~」をチェックしたい場合は、変数を値で挟むと見やすくなります。

ぶたさん

1行で書けないの?

if文を1行で書くこと可能です。

たとえば、次のようなコードの場合…

js
コピー 拡大
if (score >= 80) {
  console.log("評価:A");
}

このように{}を省略して書くことがきます。

js
コピー 拡大
if (score >= 80) console.log("評価:A");
1行書きはデメリットがあるので、個人的にはあまりおすすめしません。

ぶたさん

1行書きのデメリット
  • あとから処理を増やしたくなったときに書き直すのが大変
  • { } がないと、どこまでがif文なのか分かりにくい
  • 慣れていないとミスしやすい

OR(||)は3つ以上の条件で使える?

OR(||)は3つ以上の条件でも使えます。

たとえば、次のように書けます。

js
コピー 拡大
const score = 90;

if (score === 100 || score === 90 || score === 80) {
  console.log("合格!");
}
コンソール(実行結果)
コピー 拡大
合格!

この場合、scoreが「100点」「90点」「80点」のどれかに当てはまれば処理が実行されます。

OR(||)は「条件が複数あって、どれか1つでも当てはまればOK!」というときに便利です。

入れ子を何段でも増やせる?

結論から言うと、入れ子は何段でも増やすことができます。

ただし、下記のように入れ子(階層)を深くすると、コードが見づらくなるため個人的にはおすすめしません。

json
コピー 拡大
if (条件1) {
  if (条件2) {
    if (条件3) {
      if (条件4) {
        if (条件5) {
          // 条件1〜5のすべてが当てはまったときに実行される処理
        }
      }
    }
  }
}

基本的にif文に限らずコードを書くときは、できるだけシンプルで見やすくすることが大切です。

「本当に入れ子で書く必要があるのか?」を考えてから書くようにしましょう。

8. まとめ

JavaScriptのif文まとめ

まとめ
  • if文は「もし◯◯なら△△する」のプログラム版
  • if文は真偽値(true / false)を見て次の処理を決めている
  • if文は「if」「else if」「else」の3種類ある
  • for文や関数内でも使うことができる
  • if文に似た構文「三項演算子」「Switch文」がある