[[配列 (JavaScript)|配列]]や[[タプル (JavaScript)|タプル]]を可変長引数として渡す構文。
```ts
function fromArray(...xs: number[]) {
console.log(xs)
// ^?
}
fromArray(1, 2) // [1, 2]
fromArray(1, 2, 3) // [1, 2, 3]
function fromTuple(...xs: [number, number, number]) {
console.log(xs)
// ^?
}
fromTuple(1, 2) // error
fromTuple(1, 2, 3) // [1, 2, 3]
```
<button class="playground"><a href="https://www.typescriptlang.org/play?ts=5.1.3&ssl=16&ssc=1&pln=1&pc=1#code/GYVwdgxgLglg9mABMATnAtgQRSghgTwAoA6UgDwGcAuRMEdAIwFMUBtAXQEpEBvAKESIICCnAA2TYmLgBzQpU4DEAemWD1GxAD0A-HwC+fPqgzY8RAIwAaRACZuqxK2t32xtFhwFCL2zYDMDmrONn6I-m7G4NDwSCboACogAA4SJOTUTnSMLDbZzCh59AVcvErCYKISUrLyFIqCjpoaugZG8UmpTD6hQYgsaCjuGJ1pvgF9IXYBbkA">Playground</a></button>
> [!attention]
> [[スプレッド構文 (JavaScript)|スプレッド構文]]や[[残余プロパティ (JavaScript)|残余プロパティ]]と勘違いしやすいので注意。