typescript - Hur gör man element 0 valfritt?


För närvarande har jag detta:

type ArrayPlusRestCount<T> = [T & {restCount: number} | undefined, ...T[]];

Några idéer om hur man gör att element 0 inte är obligatoriskt eftersom något som detta för närvarande:

const so: ArrayPlusRestCount<number> = [];

misslyckas med:

Egenskapen '0' saknas i typen '[]' men krävs i typen '[number & { restCount: number; }, ...number[]]'

Svar #1

Du kan göra elementet valfritt med ?

type ArrayPlusRestCount<T> = [(T & {restCount: number} | undefined)?, ...T[]];

const so: ArrayPlusRestCount<number> = []