プログラムの流れを制御するために使われる制御文は、条件に応じた分岐処理や繰り返し処理を実現するための基本構文です。TypeScriptでもJavaScriptと同様に、制御文を使ってプログラムのロジックを制御できます。この章では、TypeScriptにおけるif文、for文、while文、switch文などの基本的な制御文について解説します。
13.1 if文と条件分岐
if文は、特定の条件がtrue
である場合にのみ、指定した処理を実行するための制御文です。if文は、プログラム内で条件に応じた分岐を作るために最もよく使われる構文です。
13.1.1 基本的なif文
基本的なif文の構文は次の通りです。
let age = 20;
if (age >= 18) {
console.log("成人です");
}
この例では、age
が18以上の場合に「成人です」と表示されます。age
が18未満の場合には、何も表示されません。
13.1.2 if-else文
if-else文を使うと、条件がfalse
である場合にも別の処理を実行することができます。
let age = 16;
if (age >= 18) {
console.log("成人です");
} else {
console.log("未成年です");
}
この例では、age
が18未満なので、「未成年です」と表示されます。
13.1.3 else if文
複数の条件をチェックしたい場合には、else if文を使って連続した条件分岐を作成できます。
let score = 75;
if (score >= 90) {
console.log("優");
} else if (score >= 75) {
console.log("良");
} else if (score >= 60) {
console.log("可");
} else {
console.log("不可");
}
この例では、score
が75なので、「良」と表示されます。if-else
構文を使うことで、条件に応じた柔軟な分岐処理が実現できます。
13.2 switch文
switch文は、複数の条件をチェックする際に、if-else
文よりも可読性が高くなる場合があります。特に、同じ変数の値を複数のケースに応じて処理したい場合に便利です。
13.2.1 基本的なswitch文
以下は、switch
文の基本的な構文です。
let day = 2;
switch (day) {
case 0:
console.log("日曜日");
break;
case 1:
console.log("月曜日");
break;
case 2:
console.log("火曜日");
break;
default:
console.log("その他の日");
}
この例では、day
が2なので、「火曜日」と表示されます。switch
文では、それぞれのケースに一致した場合にのみ処理が実行されます。また、各ケースの処理の後にはbreak
を使って、それ以上のケースをチェックしないようにします。
13.2.2 defaultケース
switch
文には、どのケースにも一致しなかった場合の処理として、defaultケースを定義できます。default
は必須ではありませんが、すべてのケースをカバーしたい場合に便利です。
let fruit = "apple";
switch (fruit) {
case "banana":
console.log("バナナ");
break;
case "orange":
console.log("オレンジ");
break;
default:
console.log("その他の果物");
}
この例では、fruit
が”apple”でどのケースにも一致しないため、「その他の果物」と表示されます。
13.3 for文と繰り返し処理
for文は、特定の回数だけ繰り返し処理を行うための制御文です。for
ループを使うことで、一定の範囲内で同じ処理を繰り返すことができます。
13.3.1 基本的なfor文
for
文の基本的な構文は次の通りです。
for (let i = 0; i < 5; i++) {
console.log(i);
}
この例では、i
が0から4までの範囲で繰り返し処理が行われ、各ループごとにi
の値が表示されます。for
文では、次の3つの要素を指定します。
- 初期化式:
let i = 0;
の部分。ループの開始時に1度だけ実行される式です。 - 条件式:
i < 5;
の部分。条件がtrue
である限り、ループが繰り返されます。 - 反復式:
i++
の部分。各ループの後に実行される式で、通常はカウンタの増加などが行われます。
13.3.2 配列を使ったfor文
配列の要素を1つずつ処理するために、for
文を使うことができます。
let fruits = ["apple", "banana", "orange"];
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
この例では、fruits
配列の要素を順に表示しています。i < fruits.length
という条件により、配列のすべての要素が処理されます。
13.4 while文とdo-while文
while文は、条件がtrue
である限り、指定された処理を繰り返す制御文です。while
文は、繰り返し回数が事前にわからない場合に使われます。
13.4.1 基本的なwhile文
次の例では、while
文を使って、i
が5未満である間、処理を繰り返しています。
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
この例では、i
が0から4までの間、while
文のブロック内の処理が繰り返されます。条件がfalse
になるとループが終了します。
13.4.2 do-while文
do-while文は、少なくとも1度は処理を実行してから条件をチェックするという違いがあります。do
ブロック内の処理が先に実行され、その後にwhile
条件が評価されます。
let i = 0;
do {
console.log(i);
i++;
} while (i < 5);
この例では、do
ブロックが実行された後に、while
条件がチェックされます。i
が5未満である限り、繰り返し処理が行われます。
13.5 breakとcontinue
breakとcontinueは、ループ処理の流れを制御するためのキーワードです。
13.5.1 breakによるループの終了
break
を使うと、ループを途中で強制終了することができます。
for (let i = 0; i < 10; i++) {
if (i === 5) {
break;
}
console.log(i);
}
この例では、i
が5になるとbreak
によってループが終了します。したがって、0から4までの値だけが表示されます。
13.5.2 continueによるループのスキップ
continue
を使うと、現在の反復をスキップして、次の反復に進むことができます。
for (let i = 0; i < 5; i++) {
if (i === 2) {
continue;
}
console.log(i);
}
この例では、i
が2のときにcontinue
が実行され、2のときの処理がスキップされます。したがって、0, 1, 3, 4が表示されます。
まとめ
この章では、TypeScriptにおける制御文の基本的な使い方について学びました。if文による条件分岐、for文やwhile文による繰り返し処理、そしてswitch文による複数条件の分岐など、プログラムの流れを制御するための重要な構文を理解しました。また、breakとcontinueを使ったループの制御方法についても学びました。