"orange"
,"apple"
または"banana"
のいずれかのAPIに由来する値があります。文字列ベースの列挙型をシミュレートする方法
だから最初に私がしたようなタイプを作成:
type Fruit = "orange" | "apple" | "banana";
それでは、私はFruit
としてAPIから値を入力することができます。
type Fruit = "orange" | "apple" | "banana";
function getFruitFromApi(): Fruit {
// simulating random result
const fruits: Fruit[] = ["orange", "apple", "banana"];
return fruits[Math.floor(Math.random() * 3)];
}
const fruit: Fruit = getFruitFromApi();
switch (fruit) {
case "orange": break;
case "apple": break;
case "banana": break;
}
これは問題ありませんが、スイッチにこれらの文字列を手動で入力する必要はありません。 Fruit.Orange
、Fruit.Apple
、Fruit.Banana
のようなものがあります。基本的に列挙型のようですが、数値ではなく文字列と一致する値があります。