Before TypeScript 3, tuples had to have a fixed amount of elements. TypeScript 3 gives us a little more flexibility with rest elements. rest elements are similar to rest parameters, described in the last section, but they work with tuple element types. Arestelement allows us to define an open-ended tuple.
Time to go through an example:
In the TypeScript playground, let's create a tuple with the first element being a string and subsequent elements being numbers:
type Scores = [string, ...number[]];
We should be able to use this structure to store someone's name with an infinite amount of scores. Let's give this a go for Billy and three scores: