# Тип функций в TypeScript

В 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); };`
←→
↑