profileRyan KesPGP keyI build stuffEmailGithubTwitterLast.fmMastodonMatrix

TypeScript Tuple Type

Syntax

Basic

var nameNumber: [string, number]
var name: string
var num: number

// Okay
nameNumber = ["Jenny", 8675309]

// Error!
nameNumber = ["Jenny", "867-5309"]

var [name, num] = nameNumber

Rest elements

Rest elements can occur anywhere in a tuple, not just at the end:

type Strings = [string, string]
type Numbers = [number, number]

// [string, string, number, number, boolean]
type StrStrNumNumBool = [...Strings, ...Numbers, boolean]

Labels

type Range = [start: number, end: number]
type Foo = [first: number, second?: string, ...rest: any[]]

Related