【TypeScript入門シリーズ】第3章:制御文の基本

第3章制御文の基本 TypeScript
PR

プログラムの流れを制御するために使われる制御文は、条件に応じた分岐処理や繰り返し処理を実現するための基本構文です。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つの要素を指定します。

  1. 初期化式: let i = 0; の部分。ループの開始時に1度だけ実行される式です。
  2. 条件式: i < 5; の部分。条件がtrueである限り、ループが繰り返されます。
  3. 反復式: 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

breakcontinueは、ループ処理の流れを制御するためのキーワードです。

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文による複数条件の分岐など、プログラムの流れを制御するための重要な構文を理解しました。また、breakcontinueを使ったループの制御方法についても学びました。