Possible Duplicate:
open-ended function arguments with TypeScript

变量函数是否有可接受的类型签名?例子:

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

推荐答案

在TypeScript中,您可以使用"..."来实现上述模式:

function sum (...numbers: number[]) {
  var sum = 0;
  for (var i = 0; i <  numbers.length; i++) {
    sum += numbers[i];
  }
  return sum;
};

这会解决你的错误.

Typescript相关问答推荐

类型缩小对(几乎)受歧视的unions 不起作用

Angular -使用Phone Directive将值粘贴到控件以格式化值时验证器不工作

如何在不使用变量的情况下静态判断运算式的类型?

VS代码1.88.0中未出现自动导入建议

如何在排版中正确键入中间件链和控制器链

泛型类型,引用其具有不同类型的属性之一

使用`renderToPipeableStream`时如何正确恢复服务器端Apollo缓存?

为什么我的Set-Cookie在我执行下一次请求后被擦除

类型{}上不存在属性&STORE&A;-MobX&A;REACT&A;TYPE脚本

记录键的泛型类型

如何在ANGLE中注册自定义验证器

如何编写在返回函数上分配了属性的类型安全泛型闭包

Typescript 类型守卫一个类泛型?

如何从对象或类动态生成类型

TypeScrip:如何缩小具有联合类型属性的对象

基于区分的联合键的回调参数缩小

通过函数传递确切的类型,但验证额外的字段

如何将 MUI 主题对象的自定义属性与情感样式组件中的自定义props 一起使用?

使用 fp-ts 时如何使用 TypeScript 序列化任务执行?

Angular另一个组件的nativeelement未定义