😺

TypeChallengesに入門する

2023/04/30に公開
concat.ts
type Concat<T, U> = any
myAnswer.ts
type Concat<T extends Array<unknown>, U> = U extends Array<unknown> ? [...T, ...U] : [...T, U]

答えを確認したところ、U extends Array<unknown>にしている人が大多数でした。

###質問
JavaScript のArray.concat関数を型システムに実装します。この型は 2 つの引数を受け取り、受け取ったイテレータの要素を順に含む新しい配列を返します。

ってことはイテレータの要素以外は入る想定じゃないってことですかね。

myAnswer.ts
type Concat<T extends Array<unknown>, U extends Array<unknown>> = [...T, ...U]

...どっちでもいいんですかね?

Discussion