Dattiloscritto: tipi per le funzioni variadic

voti
17

Eventuali duplicati:
gli argomenti delle funzioni aperti con dattiloscritto

C'è qualche firma di tipo accettabile per funzioni variadic? Esempio:

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

mi dà errore di compilazione:

foo.ts(9,12): Supplied parameters do not match any signature of call target
È pubblicato 02/10/2012 alle 23:04
fonte dall'utente
In altre lingue...                            


1 risposte

voti
25

A macchina è possibile utilizzare " ..." per achive il modello di cui sopra:

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

Questo dovrebbe prendersi cura del proprio errore.

Risposto il 02/10/2012 a 23:28
fonte dall'utente

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