Typescript: tipuri de funcții variadic

voturi
17

Posibil dublură: tip
deschis , cu argumente funcționale typescript

Există vreun tip de semnătură acceptabilă pentru funcțiile variadic? Exemplu:

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

imi da eroare de compilare:

foo.ts(9,12): Supplied parameters do not match any signature of call target
Întrebat 02/10/2012 la 23:04
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
25

Dactilografiat puteți folosi „ ...“ pentru a atinge modelul de mai sus:

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

Acest lucru ar trebui să aibă grijă de eroarea.

Publicat 02/10/2012 la 23:28
sursa de către utilizator

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