#typescript #function #types #arguments
#typescript #функция #типы #аргументы
Вопрос:
В TypeScript вы можете задать типы аргументов, например, следующим образом:
function x(y: string[], z?: Function)
Как вы устанавливаете типы для аргументов аргумента функции?
Например, вот как я представляю, как это будет выглядеть:
function x(y: string[], z?: Function(a: any, b: any))
Ответ №1:
Вы ищете типы, используя обозначение жирной стрелкой.
function foo(a: (s: string, n: number) => string): string {
return a("hello", 10);
}
Комментарии:
1. Пожалуйста, обратите внимание, что
(string, number) => string
это, вероятно, не то, что вы думаете . В TypeScript вы должны дать (фиктивные) имена параметрам в сигнатурах функций. Вашиstring
иnumber
интерпретируются как имена (подразумеваемогоany
типа), а не типы. Скорее всего, вы имеете в виду что-то вроде(s: string, n: number) => string
«вместо этого».2. Я повторяю предупреждение @jcalz! будьте осторожны с этими именами, пожалуйста, измените их, они просто приведут к путанице, это не функция, которая принимает
string
, аnumber
функция, которая принимаетany
иany
ОГРОМНАЯ разница3. Ты прав @jcalz, я слишком быстро нажал на спусковой крючок, и в меня закралась предупреждающая лень.