コンテンツにスキップ

7 - 制御構文

7.1 条件分岐

JavaScript において条件分岐を行う場合には、if 文を使用します。if 文は次の Listing1 のように記述します。


Listing1:if 文

// if 文
if (条件式) {
// 処理
} else {
// 条件式に該当しなかった場合の処理
}
// if-elseif 文
if (条件式1) {
// 条件式1に該当した場合の処理
} else if (条件式2) {
// 条件式2に該当した場合の処理
} else {
// 条件式に該当しなかった場合の処理
}

各 if 文において else 節や else if 節は省略することもできます。条件式の部分には算術式や関係式が入りますが、JavaScript では真偽値以外の値も入れることができます。これは truthy / falthy の考え方で、truthy なオブジェクトは真と、falthy なオブジェクトは偽と判定されます。

  • truthy なオブジェクト
    • true
    • 0 以外の数値
    • nullundefined でないオブジェクト
  • falthy なオブジェクト
    • false
    • 0
    • null
    • undefined

7.2 繰り返し文:for

JavaScript において繰り返しを実現する構文には forwhile がありますが、まずは for について説明します。for は指定された回数、または配列に関して繰り返す場合に使用します。次の Listing2 では 0 から 99 までの数値を順に表示します。


Listing2:for 文

for (let i = 0; i < 100; i++) {
console.log(i);
}

for 文の ()の中では次の 3 つの記述をし、それぞれを ; で区切ります。なおこれら全てが省略可能で、例えば for (;;) のように記述すると無限ループとなります。

  • 1 番目:for 文内で使用する変数の宣言
  • 2 番目:繰り返し条件式(ここが true の間ループが繰り返される)
  • 3 番目:一度繰り返すごとにする処理

また、配列のすべての要素を走査するには次のようにします。


Listing3:配列における for 文

const alphabets = ['a', 'b', 'c'];
for (let i = 0; i < alphabets.length; i++) {
console.log(alphabets[i]);
}


演習1

足し算などの算術演算をせずに(3 番目のインクリメントを除く)1 から 200 までを表示してみましょう。


7.3 繰り返し文:while

while 文も JavaScript における繰り返し処理です。for 文とは異なり、繰り返し条件式のみを記述するシンプルな繰り返しです。次の Listing3 は while 文の構文です。while 文では条件式が true の間処理を繰り返します。


Listing4:while 文

while (条件式) {
// 処理
}


演習2

while 文を使って 1 から 100 までの数字を表示してみましょう。


7.4 continuebreak

繰り返し(forwhile)の処理の途中で繰り返しの最初に戻りたい場合や繰り返しをやめたい場合には、continuebreak を使用します。前者の場合には continue を、後者の場合には break を記述します。次の Listing4 は、for 文において 50 を表示した瞬間に繰り返しを抜ける例です。


Listing5:break

for (let i = 0; i < 100; i++) {
console.log(i);
if (i === 50) {
break;
}
}