[解決済み] オブジェクトリテラルをTypeScriptのenum値として使用する
2023-04-22 01:28:53
質問
列挙型があります。
export enum PizzaSize {
SMALL = 0,
MEDIUM = 1,
LARGE = 2
}
しかし、ここではいくつかの値のペアを使いたいと思います:例えば
SMALL
を持っていると言いたいのです。
key
の
0
と
value
の
100
. を使うように心がけています。
export enum PizzaSize {
SMALL = { key: 0, value: 100 },
// ...
}
でも、TypeScriptはこれを受け付けないんです。どうすればいいのでしょうか?
どうすれば解決しますか?
更新:見つける Javaromeの回答 の方がよりエレガントです。私は彼の方法を使用することをお勧めします。
もし、Typeを使う必要があるなら、いくつかのコードを追加してみてください。
使い方は
getPizzSizeSpec(PizzaSize.small).value
enum PizzaSize {
small,
medium,
large
}
interface PizzaSizeSpec {
key: number,
value: number
}
function getPizzaSizeSpec(pizzaSize: PizzaSize): PizzaSizeSpec {
switch (pizzaSize) {
case PizzaSize.small:
return {key:0, value: 25};
case PizzaSize.medium:
return {key:0, value: 35};
case PizzaSize.large:
return {key:0, value: 50};
}
}
関連
-
[解決済み] Java enumのメンバーを比較する:==またはequals()?
-
[解決済み] enumを列挙するには
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] C#でenumからint値を取得する
-
[解決済み] C#の[Flags]Enum属性の意味とは?
-
[解決済み] Enum "Inheritance" (継承)
-
[解決済み】TをEnumに拘束するGenericメソッドの作成
-
[解決済み] Angular 2におけるEventEmitter.next()とEventEmitter.emit()の相違点
-
[解決済み] Angular v5からAngular v6にプロジェクトをアップグレードしたい。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 継承と依存性注入
-
[解決済み] Angular 4+ ngOnDestroy() サービス中 - observableを破壊する
-
[解決済み] dataSource' は 'table' の既知のプロパティではないので、バインドできません。
-
[解決済み] ルーターナビゲートで同じページのngOnInitを呼び出さない
-
[解決済み] Angular v5からAngular v6にプロジェクトをアップグレードしたい。
-
[解決済み] 新しいangularプロジェクトを作成する際に依存関係ツリーエラーを解決できない
-
[解決済み] Karma/Jasmineのテストで「[object ErrorEvent] thrown」エラーが発生した場合、どのようにデバッグすればよいですか?
-
[解決済み] FormGroupとFormArrayの使い分けは?
-
[解決済み] 子ルートから親ルートに移動するにはどうしたらいいですか?
-
[解決済み] 角度の2つのスイッチケース値