Машинопись: типы для функций переменного числа

голоса
17

Можно создать дубликат:
аргументы открытых функций с машинописью

Есть ли приемлемый типа подпись для функций переменного числа? Пример:

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
Задан 02/10/2012 в 23:04
источник пользователем
На других языках...                            


1 ответов

голоса
25

В машинописном вы можете использовать « ...» для того чтобы достигнуть указанной выше схеме:

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

Это должно заботиться о вашей ошибке.

Ответил 02/10/2012 в 23:28
источник пользователем

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