1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
=== /a.js ===
/** @param {...number} a */
function f(a) {
>f : (...args: number[]) => void
>a : number | undefined
a; // number | undefined
>a : number | undefined
// Ideally this would be a number. But currently checker.ts has only one `argumentsSymbol`, so it's `any`.
arguments[0];
>arguments[0] : any
>arguments : IArguments
>0 : 0
}
f([1, 2]); // Error
>f([1, 2]) : void
>f : (...args: number[]) => void
>[1, 2] : number[]
>1 : 1
>2 : 2
f(1, "2"); // Error
>f(1, "2") : void
>f : (...args: number[]) => void
>1 : 1
>"2" : "2"
f(1, 2);
>f(1, 2) : void
>f : (...args: number[]) => void
>1 : 1
>2 : 2
|