異種混合列挙型 (Heterogeneous Enums)
CoddyのJavaScriptジャーニー「Introduction To TypeScript」セクションの一部。レッスン 55/73。
TypeScript は異種 enum もサポートしています。同じ宣言内に文字列メンバーと数値メンバーの両方が混在する enum です。
異種 enum を作成する方法は次のとおりです。
enum MixedEnum {
No = 0,
Yes = "YES",
Maybe = 1
}この例では、No と Maybe は数値メンバーであり、Yes は文字列メンバーです。TypeScript ではこの柔軟性が許容されますが、異種列挙型は実際にはほとんど使用されないことに注意してください。
チャレンジ
簡単Create 文字列値と数値を混在させる異種 enum ResponseCode を作成します:
Successを200で初期化Errorを"ERROR"で初期化NotFoundを404で初期化Timeoutを"TIMEOUT"で初期化
handleResponse という名前の function を作成し、1つのパラメーターを受け取るようにします:
- 型が
ResponseCodeのcode
function は次の処理を行う必要があります:
- Response code を確認し、値に応じて異なるメッセージを Print する
- code が
ResponseCode.Successの場合、"Request successful"を Print する - code が
ResponseCode.Errorの場合、"General error occurred"を Print する - code が
ResponseCode.NotFoundの場合、"Resource not found"を Print する - code が
ResponseCode.Timeoutの場合、"Request timed out"を Print する - 戻り値の型を
voidにする
enum の値を示すために4つの variables を作成します:
- 型が
ResponseCodeのsuccessCodeを作成し、ResponseCode.Successを代入 - 型が
ResponseCodeのerrorCodeを作成し、ResponseCode.Errorを代入 - 型が
ResponseCodeのnotFoundCodeを作成し、ResponseCode.NotFoundを代入 - 型が
ResponseCodeのtimeoutCodeを作成し、ResponseCode.Timeoutを代入
次の出力を Print します:
successCodeの値を Print するerrorCodeの値を Print するnotFoundCodeの値を Print するtimeoutCodeの値を Print するResponseCode.Successを指定してhandleResponseを呼び出すerrorCodeを指定してhandleResponseを呼び出す- 数値
404を指定してhandleResponseを呼び出す
自分で試してみよう
// TODO: ここにコードを書いてください
// ResponseCode enum を作成する
// handleResponse 関数を作成する
// デモンストレーション用の変数を作成する
// 必要な出力を表示するこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
Introduction To TypeScriptのすべてのレッスン
2基本の型
基本の型: str, num, boolean'any' 型: 脱出ハッチ'unknown' 型'null' と 'undef' の扱い型推論の実践明示的な型アノテーションまとめ:基本の型の演習5型:エイリアス、ユニオン型、インターセクション型
プリミティブ型の型エイリアスユニオン型 ('|')ユニオン型の扱い方リテラル型インターセクション型 ('&')型エイリアスの組み合わせまとめ:高度な型の組み合わせ自分で練習してみよう: JavaScriptオンラインコンパイラ