TypeScriptにおける条件分岐
この記事ではTypeScriptにおける条件分岐について説明します。
YouTube Video
TypeScriptにおけるif文
TypeScriptにおけるif
文は、指定した条件がtrue
の場合にコードを実行し、条件がfalse
の場合には実行しないという分岐処理を行います。if
文は、JavaScriptと同じ構文を持っており、TypeScriptの型安全性を活かして条件分岐を行います。
基本構文
if
文の基本構文は次のようになります。
1if (condition) {
2 // Code to execute if the condition is true
3} else if (anotherCondition) {
4 // Code to execute if the first condition is false
5 // and the another condition is true
6} else {
7 // Code to execute if all conditions are false
8}
condition
がtrue
の場合、その次のブロック内のコードを実行します。condition
がfalse
で、anotherCondition
がtrue
の場合、その次のブロック内のコードを実行します。- どの条件も
false
の場合、最後のelse
ブロック内のコードを実行します。
例1: 基本的なif-else
文
以下の例では、変数x
が10以上かどうかを判定し、結果を出力します。
1let x: number = 15;
2
3if (x >= 10) {
4 console.log("x is 10 or greater");
5} else {
6 console.log("x is less than 10");
7}
8// Outputs: x is 10 or greater
例2: if-else if-else
文
複数の条件をチェックする場合には、else if
を使用して分岐を追加します。
1let score: number = 85;
2
3if (score >= 90) {
4 console.log("Excellent");
5} else if (score >= 70) {
6 console.log("Passed");
7} else {
8 console.log("Failed");
9}
10// Outputs: Passed
例3: 型チェックを含めたif
文
TypeScriptの型チェック機能を活かして、特定の型の条件分岐を行うことも可能です。例えば、変数の型をtypeof
演算子でチェックし、適切な処理を行います。
1let value: any = "Hello";
2
3if (typeof value === "string") {
4 console.log("The value is a string: " + value);
5} else if (typeof value === "number") {
6 console.log("The value is a number: " + value);
7} else {
8 console.log("The value is of another type");
9}
10// Outputs: "The value is a string: Hello"
例4: ネストされたif
文
if
文の中にさらにif
文を入れて、複雑な条件をチェックすることもできます。
1let age: number = 25;
2let isMember: boolean = true;
3
4if (age >= 18) {
5 if (isMember) {
6 console.log("You are a member and 18 years old or older");
7 } else {
8 console.log("You are not a member but 18 years old or older");
9 }
10} else {
11 console.log("You are under 18 years old");
12}
13// Output
14// You are a member and 18 years old or older
三項演算子(条件演算子)
構文
1condition ? valueIfTrue : valueIfFalse
if
文を短く書きたい場合、三項演算子を使うこともできます。
例
1const number: number = 7;
2const result: string = number % 2 === 0 ? "Even" : "Odd";
3console.log(result); // "Odd"
この場合、number
が7
なので、Odd
が表示されます。
まとめ
if
文は、条件に応じて実行する処理を決定するための基本的な制御構文です。else if
を使って複数の条件を処理できます。typeof
を使用することで、TypeScriptの型を活かした条件分岐が可能です。- ネストされた
if
文で複雑な条件処理ができます。 - 三項演算子を使って簡潔に条件分岐を書くことも可能です。
TypeScriptでは、型安全性を考慮したif
文を使うことで、コードの信頼性を向上させることができます。
TypeScriptにおけるswitch文
TypeScriptにおけるswitch
文は、複数の条件に基づいてコードを分岐させるための制御構文です。if-else if
文を使って複数の条件を評価する代わりに、switch
文を使うことで、特定の値に応じた分岐処理を簡潔に記述できます。
基本構文
1switch (expressionToEvaluate) {
2 case value1:
3 // Code to execute if the expression evaluates to value1
4 break;
5 case value2:
6 // Code to execute if the expression evaluates to value2
7 break;
8 default:
9 // Code to execute if none of the conditions match
10}
switch
文では、case
で指定した値と評価する式が一致する場合、そのcase
ブロックが実行されます。break
がないと、次のcase
ブロックが続けて実行されるので注意が必要です。default
ブロックはどのcase
にも一致しなかった場合に実行されます。
例1: 基本的なswitch
文
以下の例では、曜日を表す数値(0〜6)が与えられ、その値に応じて対応する曜日名を出力します。
1let day: number = 3;
2
3switch (day) {
4 case 0:
5 console.log("Sunday");
6 break;
7 case 1:
8 console.log("Monday");
9 break;
10 case 2:
11 console.log("Tuesday");
12 break;
13 case 3:
14 console.log("Wednesday");
15 break;
16 case 4:
17 console.log("Thursday");
18 break;
19 case 5:
20 console.log("Friday");
21 break;
22 case 6:
23 console.log("Saturday");
24 break;
25 default:
26 console.log("Invalid day");
27}
28// Outputs: Wednesday
例2: default
を使用した例
default
は、すべてのcase
に一致しなかった場合に実行されるため、予期しない値に対処するのに便利です。
1let statusText: string = "pending";
2
3switch (statusText) {
4 case "success":
5 console.log("Operation succeeded");
6 break;
7 case "error":
8 console.log("An error occurred");
9 break;
10 case "pending":
11 console.log("Processing");
12 break;
13 default:
14 console.log("Unknown status");
15}
16// Outputs: Processing
例3: 複数のcase
で同じ処理を実行
複数のcase
に対して同じ処理を実行したい場合、case
を連続して記述することで実現できます。
1let fruit: string = "apple";
2
3switch (fruit) {
4 case "apple":
5 case "banana":
6 case "orange":
7 console.log("This is a fruit");
8 break;
9 default:
10 console.log("This is not a fruit");
11}
12// Outputs: This is a fruit
例4: break
を省略した場合の処理
break
を省略すると、次のcase
もそのまま実行される「フォールスルー」という動作が発生します。
1let rank: number = 1;
2
3switch (rank) {
4 case 1:
5 console.log("Gold");
6 case 2:
7 console.log("Silver");
8 case 3:
9 console.log("Bronze");
10 default:
11 console.log("Not ranked");
12}
13// Outputs:
14// Gold
15// Silver
16// Bronze
17// Not ranked
このように、case
に一致した後も次のcase
が実行されてしまうため、不要なフォールスルーを防ぐために、通常はbreak
を使用します。
まとめ
switch
文は、複数の条件に基づく分岐処理を簡潔に書ける制御構文です。- 各
case
にはbreak
を使って処理の終了を明示する必要があります。 default
ブロックは、どのcase
にも一致しなかった場合に実行されます。- 複数の
case
で同じ処理を行うことも可能です。
TypeScriptにおけるswitch
文は、コードの可読性を保ちつつ、複数の条件を効率的に処理するのに役立ちます。
YouTubeチャンネルでは、Visual Studio Codeを用いて上記の記事を見ながら確認できます。 ぜひYouTubeチャンネルもご覧ください。