制御構造

条件分岐

if 文

条件によって実行する処理を切り替えたい場合には、 if 文を使います。

if文の基本的な文法は次の通りです:

if (〈条件式〉) {

〈条件式が真の場合の処理〉

} else {

〈条件式が偽の場合の処理〉

}

(注:〈条件式が〜の場合の処理〉の前後の { } は、処理が一つの文の場合は省略できますが、この記事では省略しないことにします。)

条件式が偽の場合に処理を実行しない場合は、 else 節を省略できます:

if (〈条件式〉) {

〈条件式が真の場合の処理〉

}

例:

let a = 123;
if (a > 10) {
    console.log("a is larger than 10.");
} else {
    console.log("a is not larger than 10.");
}

発展:条件式

条件式には、通常は真理値 (boolean; true と false のこと) を指定するかと思いますが、実は任意の JavaScript の値を指定することができます。

JavaScriptの値のうち、次の7つは「偽」として取り扱われます:

undefined, null, false, +0, -0, NaN, "" (空文字列)

それ以外の全ての値は「真」として取り扱われます。

switch 文

(未執筆)

繰り返し(ループ)

while 文

while 文は、条件が成り立つ間処理を繰り返します。

while 文の文法は次の通りです:

while (〈条件式〉) {
〈処理〉
}

例:

let i = 0; // カウンター変数
while (i < 10) { // i が 10 より小さい間は処理を繰り返す
    console.log(i); // i を出力する
    i++; // i を 1 増やす
}
実行結果:
0
1
2
3
4
5
6
7
8
9

for 文

for 文も while 文と同じように、処理の繰り返しに使います。while 文と異なるのは、変数の宣言やループ変数の操作を一緒に書くことができる点です。

while 文の例に挙げたプログラムと等価なものを for 文で書くと、次のようになります:

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

for 文の文法は次のようになります:

for (〈初期化〉;〈条件式〉;〈変数を更新する式〉) {
〈処理〉
}

〈初期化〉の部分には変数宣言か、式を書きます。省略することもできます。

〈条件式〉の部分は while 文と同様ですが、省略することもできます(省略した場合は true になります)。

〈変数を更新する式〉の部分は、〈処理〉が終わった後に実行されます(省略可能です)。主にカウンター変数の更新に使われることが多いですが、実際は任意の式を書けるので、上記のプログラムと同じものを

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

と書くこともできます。

〈初期化〉、〈条件式〉、〈変数を更新する式〉のいずれも省略可能で、全てを省略して for(;;) とした場合は、ただの無限ループになります。

繰り返しの中断:break と continue

繰り返し処理を途中で中断したい場合は、 break 文を使います。while 文と for 文のどちらでも使うことができます。

例:

for (let i = 0; ; i++) {
    if (i >= 10) {
        break; // ループから脱出
    }
    console.log(i)

}

処理をスキップしたい場合は、 continue 文を使います。〈処理〉は中断されますが、〈変数を更新する式〉は通常通り実行されます。

例:
for (let i = 0; i < 10; i++) {
    if (i % 3 === 0) { // i が3の倍数の時は...
        continue; // 処理を行わない
    }
    console.log(i);
}


Comments