아래의 코드는 주어진 타입에 대한 배열 타입을 만들어주는 코드입니다. 주어진 타입이 유니언일 경우 각 타입이 하나씩 분산 처리되어 유니온화 됩니다.
type ToArray<Type> = Type extends any ? Type[] : never; type StrArrOrNumArr = ToArray<string | number>; // type StrArrOrNumArr = string[] | number[]
만약 주어진 타입을 분산 처리하지 않고 한번에 처리하기를 원한다는 다음처럼 작성하면 됩니다.
type ToArray<Type> = [Type] extends [any] ? Type[] : never; type StrArrOrNumArr = ToArray<string | number>; // type StrArrOrNumArr = (string | number)[]
