Skip to main content
Journey Uncommon Logo
JourneyUncommon
hardTypeScriptvariadic tuple typesSingle-choice MCQ

What is `R`, and what makes this recursive reversal type-check?

type Reverse<T extends any[]> = T extends [infer H, ...infer Rest] ? [...Reverse<Rest>, H] : []; type R = Reverse<[1, 2, 3]>;