Letra de imprenta: tipos de funciones variadic

votos
17

Duplicar posibles:
argumentos de la función indefinidos con mecanografiado

¿Hay algún tipo de firma aceptable para las funciones variadic? Ejemplo:

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

me da error de compilación:

foo.ts(9,12): Supplied parameters do not match any signature of call target
Publicado el 02/10/2012 a las 23:04
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
25

A máquina de escribir se puede usar " ..." para achive el patrón anterior:

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

Esto debe hacerse cargo de su error.

Respondida el 02/10/2012 a las 23:28
fuente por usuario

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