🍛
Typescriptで配列データからユニオン(union)型を生成する
結論
const SUBJECTS = ["国語", "数学", "英語", "理科", "社会"] as const;
type Subject = typeof SUBJECTS[number];
これで以下のように Subject がユニオン型になる。
ポイント
- 配列はreadonlyにする必要があるため、as constは必須
- 配列に[number]をつけると要素の union となる → 不思議 🤔
const SUBJECTS = ["国語", "数学", "英語", "理科", "社会"] as const;
type Subject = typeof SUBJECTS[number];
これで以下のように Subject がユニオン型になる。
Discussion