前提・実現したいこと
カードゲームをつくっています。
たとえば、下記のようなCardという型があります。
TypeScript
1type Card = { 2 id: number; 3 name: string; 4};
これを6個未満しか入らないような型がつくりたいのですが、つくりかたがよくわかりません。
Card[]
にしてプログラム側で6個にならないように制御するのか
TypeScript
1type Card5ika = [] | [Card] |[Card, Card] | [Card, Card, Card] | [Card, Card, Card, Card] | [Card, Card, Card, Card, Card];
一応これでつくれてはいそうですけど
デッキが60枚のときなどに書くのが大変すぎます。
たぶんもっと楽な書き方があると思うのですが見つけられませんでした。
タプル型だと0個とか1個のときがダメそうです。
一応こういう方法もあるようですが、「配列の長さを型で制限する」という考え自体が、あまり一般的でない気がしますね…。
https://stackoverflow.com/a/65495553
あなたの回答
tips
プレビュー