В JavaScript могут быть переменные, хранящие функции. В этом случае TypeScript позволяет нам указать, что эта переменная имеет тип "функция".
Тип функции представляет собой комбинацию типов параметров и типа возвращаемого значения. Эта комбинация называется сигнатурой функции.
Чтобы указать переменной тип функции,
нужно в круглых скобках перечислить
параметры и их типы, а после стрелки =>
указать тип возвращаемого значения.
Давайте посмотрим на примере. Объявим какую-нибудь переменную как содержащую функцию:
let func: (x: number, y: number) => number;
Запишем в эту переменную функцию заданного типа:
func = function(a: number, b: number): number {
return a + b;
};
Свой тип с функцией
Иногда удобнее объявить отдельный тип, который будет содержать описание параметров и возвращаемого значения функции:
type Func = (x: number, y: number) => number;
Затем можно будет объявлять функции с таким типом.
Давайте для примера объявим функцию, которая складывает два числа:
let func1: Func = function(a: number, b: number): number {
return a + b;
};
А теперь объявим функцию, которая умножает два числа:
let func2: Func = function(a: number, b: number): number {
return a * b;
};
Практические задачи
Укажите переменной тип функции:
let func = function(text: string): void {
alert(text);
};