Как аннотировать обычную функцию с помощью type в typescript?

#typescript

#typescript

Вопрос:

Учитывая тип

 export interface MyFun {
  (arg: unknown): unknown;
}
  

Я могу легко аннотировать функцию со стрелкой

 const arrowF: MyFun = arg => {
  console.log(arg);
}
  

но как мне аннотировать обычную функцию с заданным типом

 function regularF(arg) {
  console.log(arg);
}
  

Компилятор выдаст ошибку

Параметр ‘arg’ неявно имеет тип ‘any’.

Я ищу что-то вроде этого

 function<MyFun> regularF(arg) {
  console.log(arg);
}
  

который не работает

Обновление: найдена связанная проблема

Комментарии:

1. function regularF(arg: unknown): void { ... } ? Смотрите документы .

Ответ №1:

Подобное аннотирование вашей функции будет иметь тот же эффект, что и использование вашего MyFun интерфейса:

 function regularF(arg: unknown): unknown {
  console.log(arg);
}