logo

TypeScript の Switch ステートメント

TypeScript の switch ステートメントは、複数の条件から 1 つのステートメントを実行します。ブール値、数値、バイト、short、int、long、列挙型、文字列などの値に基づいて式を評価します。switch ステートメントには、各値に対応する 1 つのコード ブロックがあります。一致するものが見つかると、対応するブロックが実行されます。 switch ステートメントは、if-else-if ラダー ステートメントと同様に機能します。

switch ステートメントでは次の点に注意する必要があります。

  • switch ステートメント内には N 個のケースが存在する可能性があります。
  • 大文字と小文字の値は一意である必要があります。
  • ケースの値は定数でなければなりません。
  • 各 case ステートメントのコードの最後には、break ステートメントがあります。 Break ステートメントはオプションです。
  • switch ステートメントには、最後にデフォルトのブロックが書き込まれます。デフォルトのステートメントはオプションです。

構文

 switch(expression){ case expression1: //code to be executed; break; //optional case expression2: //code to be executed; break; //optional ........ default: //when no case is matched, this block will be executed; break; //optional } 

switch ステートメントには次のものが含まれます。 switch ステートメント内には任意の数のケースを含めることができます。

場合: 大文字と小文字の後には定数を 1 つだけ続け、その後にセミコロンを続ける必要があります。別の変数または式を受け入れることはできません。

壊す: ブレークは、case ブロックの実行後に switch ステートメントから出てくるブロックの最後に記述する必要があります。 Break を記述しない場合、後続の case ブロックに一致する値を使用して実行が続行されます。

デフォルト: デフォルトのブロックは switch ステートメントの最後に記述する必要があります。一致するケースがない場合に実行されます。

TypeScript の Switch ステートメント

 let a = 3; let b = 2; switch (a+b){ case 1: { console.log('a+b is 1.'); break; } case 2: { console.log('a+b is 5.'); break; } case 3: { console.log('a+b is 6.'); break; } default: { console.log('a+b is 5.'); break; } } 

出力:

TypeScript の Switch ステートメント

ストリング付きスイッチケース

 let grade: string = 'A'; switch (grade) { case'A+': console.log('Marks >= 90'+'
&apos;+&apos;Excellent&apos;); break; case&apos;A&apos;: console.log(&apos;Marks [ &gt;= 80 and = 70 and = 60 and <70 ]'+'
'+'average'); break; case'c': console.log('marks < 60'+'
'+'below average'); default: console.log('invalid grade.'); } pre> <p>In this example, we have a string variable grade. The switch statement evaluates grade variable value and match with case clauses and then execute its associated statements.</p> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/typescript-tutorial/79/typescript-switch-statement-3.webp" alt="TypeScript Switch Statement"> <hr> <h2>Switch Case with Enum</h2> <p>In TypeScript, we can use the switch case with Enum in the following ways.</p> <h3>Example</h3> <pre> enum Direction { East, West, North, South }; var dir: Direction = Direction.North; function getDirection() { switch (dir) { case Direction.North: console.log(&apos;You are in North Direction&apos;); break; case Direction.East: console.log(&apos;You are in East Direction&apos;); break; case Direction.South: console.log(&apos;You are in South Direction&apos;); break; case Direction.West: console.log(&apos;You are in West Direction&apos;); break; } } getDirection(); </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/typescript-tutorial/79/typescript-switch-statement-4.webp" alt="TypeScript Switch Statement"> <hr> <h2>TypeScript Switch Statement is fall-through.</h2> <p>The TypeScript switch statement is fall-through. It means if a break statement is not present, then it executes all statements after the first match case.</p> <h3>Example</h3> <pre> let number = 20; switch(number) { //switch cases without break statements case 10: console.log(&apos;10&apos;); case 20: console.log(&apos;20&apos;); case 30: console.log(&apos;30&apos;); default: console.log(&apos;Not in 10, 20 or 30&apos;); } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/typescript-tutorial/79/typescript-switch-statement-5.webp" alt="TypeScript Switch Statement"></70>

出力:

TypeScript の Switch ステートメント

TypeScript Switch ステートメントはフォールスルーです。

TypeScript の switch ステートメントはフォールスルーです。これは、break ステートメントが存在しない場合、最初の一致ケースの後のすべてのステートメントが実行されることを意味します。

 let number = 20; switch(number) { //switch cases without break statements case 10: console.log(&apos;10&apos;); case 20: console.log(&apos;20&apos;); case 30: console.log(&apos;30&apos;); default: console.log(&apos;Not in 10, 20 or 30&apos;); } 

出力:

TypeScript の Switch ステートメント