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
|
//// [restParamsWithNonRestParams.ts]
function foo(...b:number[]){}
foo(); // ok
function foo2(a:string, ...b:number[]){}
foo2(); // should be an error
function foo3(a?:string, ...b:number[]){}
foo3(); // error but shouldn't be
//// [restParamsWithNonRestParams.js]
function foo() {
var b = [];
for (var _i = 0; _i < arguments.length; _i++) {
b[_i] = arguments[_i];
}
}
foo(); // ok
function foo2(a) {
var b = [];
for (var _i = 1; _i < arguments.length; _i++) {
b[_i - 1] = arguments[_i];
}
}
foo2(); // should be an error
function foo3(a) {
var b = [];
for (var _i = 1; _i < arguments.length; _i++) {
b[_i - 1] = arguments[_i];
}
}
foo3(); // error but shouldn't be
|