お題
タプルの値からユニオン型を生成するTupleToUnion<T>
を実装する。
やりたいこと
type Tuple = ["a", 123, true];
type TupleToUnion<Tuple>; // => "a" | 123 | true
解答
type TupleToUnion<T extends any[]> = T[number];
解説
処理の流れ
-
T extends any[]
T
をタプルに制約。 -
T[number]
タプルにnumber
型を指定することで、タプルの要素をユニオン型で取得する。
number型とは...
参考記事
number型(タプルに対して使う)
今回の問題