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

How does the compiler infer `Mid` from a tuple when a rest element sits between two fixed elements?

type Middle<T extends unknown[]> = T extends [unknown, ...infer Mid, unknown] ? Mid : never; type R = Middle<[1, 2, 3, 4]>;