TypeScript で大文字と小文字を切り替える
-
TypeScript の
Switch Case式 - TypeScript の複数の型
-
TypeScript の
Switch CasesでEnumsを使用する -
TypeScript のさまざまな式で
Switch Caseを使用する
Switch caseは、さまざまなアプリケーション ロジックに基づいてコード ブロックのさまざまな部分を切り替えるために使用される重要なプログラミング構造です。 さまざまなプログラミング言語には、switch case 式の独自の実装があります。
TypeScript は、式が任意の型を持つ スイッチ ケース もサポートしています。 C++ のような言語では、switch 式は必ず整数型で、いずれかのケースに一致する必要があります。
TypeScript の Switch Case 式
Switch ケースは、式に基づいてコード ブロック間を移動する場合に重要です。 複数のif-elseブロックの複雑さを回避するために使用できます。
以下は、TypeScript の基本的な switch case 式の構成を示しています。
switch ( expression ){
case val1:
...
break;
case val2:
...
break;
case val3:
...
break;
default:
...
break;
}
したがって、式はいずれかのケースと一致し、次のコード ブロックが実行されます。 一致するものが見つからない場合、default ブロックに対応するコード ブロックが実行されます。
多くのプログラミング言語とは異なり、switch 句の式は、TypeScript では任意の型を持つことができます。
TypeScript の複数の型
TypeScript では、switch ステートメントはアプリケーションに応じて複数の型を持つことができます。 次のコード ブロックは、TypeScript で switch ステートメントを実行する方法を示しています。
function getStatus(status : string) {
switch ( status ) {
case "SUCCESS":
console.log("Operation successful");
break;
case "IN-PROGRESS":
console.log("Processing ...");
break;
case "FAILURE":
console.log("Operation failed");
break;
default:
console.log("Could not get status");
break;
}
}
getStatus("SUCCESS");
出力:
"Operation successful"
したがって、上記のコード ブロックでは、文字列を使用して switch ステートメントのさまざまなケースを比較しています。
TypeScript の Switch Cases で Enums を使用する
TypeScript でスイッチ ケースを使用する場合、列挙型が広く使用されます。 以下は、TypeScript の switch-case ステートメントで enums を使用する方法を示しています。
enum Status {
SUCCESS,
IN_PROGRESS,
FAILURE
}
function getStatus(status : Status) {
switch ( status ) {
case Status.SUCCESS:
console.log("Operation successful");
break;
case Status.IN_PROGRESS:
console.log("Processing ...");
break;
case Status.FAILURE:
console.log("Operation failed");
break;
default:
console.log("Could not get status");
break;
}
}
getStatus(Status.FAILURE);
出力:
"Operation failed"
TypeScript のさまざまな式で Switch Case を使用する
通常の型以外に、switch ステートメントは 2つ以上の変数と一致させることもできます。 簡単な方法は、2つの文字列間で文字列連結を行い、case ステートメント内の 2つの文字列を一致させることです。
function getDirection(dir1 : string, dir2 : string) {
var direction : string = dir1 + ' ' + dir2;
switch ( direction ) {
case 'N W':
console.log('North-West');
break;
case 'N E':
console.log('North-East');
break;
case 'S W':
console.log('South-West');
break;
case 'S E':
console.log('South-East');
break;
default:
console.log("Default direction");
break;
}
}
getDirection('S', "E");
出力:
"South-East"
