[解決済み] Typescriptにはunionがあるので、enumは冗長なのか?
2022-05-13 11:06:37
質問
TypeScriptにunion型が導入されて以来、enum型を宣言する理由はあるのだろうかと思うようになりました。以下のenum型宣言を考えてみます。
enum X { A, B, C }
var x: X = X.A;
と同様の組合型宣言を行います。
type X: "A" | "B" | "C"
var x: X = "A";
もしこれらが基本的に同じ目的を果たし、ユニオンの方が強力で表現力が豊かであるなら、なぜenumが必要なのでしょうか?
どのように解決するのですか?
私が見る限り、これらは冗長ではありません。それは、enum が実際にトランスパイルされ、結果の javascript に反映されるのに対し、union 型は純粋にコンパイル時の概念であるという非常に単純な理由による ( サンプル ).
これにより、enumではユニオン型では不可能なことができるようになります(例えば 列挙可能な列挙値 )
関連
-
[解決済み] Typescript ReferenceError: exports が定義されていません。
-
[解決済み] TypeScriptで文字列を数値に変換する方法とは?
-
[解決済み] TypeScript で `window` に新しいプロパティを明示的に設定するにはどうすればよいですか?
-
[解決済み] TypeScriptでの取得と設定
-
[解決済み] TypeScriptでパラメータとして強く型付けされた関数は可能か?
-
[解決済み] 列挙型をサブクラス化して、新しい要素を追加することはできますか?
-
[解決済み] enumとは何か、なぜ有用なのか?
-
[解決済み] Typescript オブジェクトのインデックス付きメンバの型を強制する?
-
[解決済み】TypeScriptのインターフェースと型について
-
[解決済み】CとC++におけるユニオンの目的
最新
-
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 実装 サイバーパンク風ボタン