JavaScriptのArray.concat
を型システムで構成する。
Variadic Tuple Typesを使って次のように定義する
type Concat<T extends any[], U extends any[]> = [...T, ...U]
...T
と書ける機能...
で展開される方はextends readonly any[]
を満たす必要がある。TypeScript: Documentation - TypeScript 4.0
Variadic Tuple Typesという名前がわからないまま、「こんな感じにできそうかな」と思ったら通ってしまいました。 TypeScript難しい…