Strojopisem: Typy pro variadic funkcí

hlasů
17

Možné Duplicitní:
Otevřené argumenty funkce s strojopisem

Existuje nějaký přijatelný typ podpis variadic funkce? Příklad:

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));

dává mi chybu kompilace:

foo.ts(9,12): Supplied parameters do not match any signature of call target
Položena 02/10/2012 v 23:04
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
25

Na psacím stroji, můžete použít „ ...“ Pro dosažení výše uvedeného vzoru:

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

To by mělo starat o své chyby.

Odpovězeno 02/10/2012 v 23:28
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more