Using VS17RC with TS 2.1
function foo(x:number, y:number, z:number) { console.log(x + y + z)}
var args = [0, 1, 2];
foo(...args);
gives the compile time error "Supplied parameters do not match any signature of call target."
This is the compiled js:
function foo(x, y, z) { console.log(x + y + z); }
var args = [0, 1, 2];
foo.apply(void 0, args);
which does in fact work.
Is there something I am doing wrong here?
The example comes from here: Typescript Deep Dive
There's an open issue on the exact same example:
Compiler incorrectly reports parameter/call target signature mismatch when using the spread operator
The issue is marked as bug
, but it's there from Aug 3, 2015, and has no set milestone.