可变函数是否有可接受的类型签名?例如:
function sum () {
var sum = 0;
for (var i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
return sum;
};
console.log(sum(1, 2, 3, 4, 5));
给我编译错误:
foo.ts(9,12): Supplied parameters do not match any signature of call target
答案 0 :(得分:30)
在TypeScript中,您可以使用“...
”来实现上述模式:
function sum (...numbers: number[]) {
var sum = 0;
for (var i = 0; i < numbers.length; i++) {
sum += numbers[i];
}
return sum;
};
这应该照顾你的错误。