首页 文章

TypeScript:可变函数的类型[重复]

提问于
浏览
22

可能重复:使用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

1 回答

  • 30

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

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

    这应该照顾你的错误 .

相关问题