Следующий код является распространенным и очень аккуратным способом реализации функций-оболочек в JavaScript.
Код обертывает innerFunction
(который имеет несколько именованных аргументов) в оболочку outerFunction
:
function innerFunction(firstArgument, secondArgument, thirdArgument) {
console.log('innerFunction', arguments);
}
function outerFunction() {
console.log('outerFunction', arguments);
innerFunction(...arguments)
}
outerFunction(1, 2, 3);
Это прекрасно работает как JavaScript - вы можете видеть, что outerFunction
передает любые аргументы innerFunction
:
outerFunction [Arguments] { '0': 1, '1': 2, '2': 3 }
innerFunction [Arguments] { '0': 1, '1': 2, '2': 3 }
Typescript не делает ' Это так, потому что он хочет, чтобы я помещал типы внутренних функций во внешнюю функцию.
Есть ли лучший способ сделать это в TypeScript? Конечно, анализ состояния TypeScript c позволяет увидеть, что внешняя функция получает свои типы из внутренней функции?
I принять ответ может быть «нет, вы должны добавить типы внутренней функции к внешней функции». Но я бы хотел посоветоваться с моими коллегами на случай, если есть лучший способ сделать это.