Интерфейс для функции в TypeScript

Интерфейс можно сделать не только для объекта, но и для функции. Для этого в теле интерфейса указывается сигнатура вызова функции: параметры для функции и их типы, а также тип результата функции.

Рассмотрим следующий пример. Давайте сделаем тип с помощью интерфейса IMathFunc. В круглых скобках укажем два числовых параметра. Возвращаемому значению укажем булевый тип:

typescriptinterface IMathFunc {
  (num1: number, num2: number): boolean;
}

Теперь сделаем функцию myFunc на основе нашего интерфейса:

typescriptlet myFunc: IMathFunc = function(num1: number, num2: number): boolean {
  if(num1 == num2) {
    return true;
  } else {
    return false;
  }
}

console.log(myFunc(2, 2));
Задание 1

Создайте интерфейс для функции, параметром принимающей две строки и возвращающей эти строки, сложенные через пробел.

Задание 2

Создайте интерфейс для функции, параметром принимающей число и возвращающей массив делителей этого числа.

Задание 3

Создайте интерфейс для функции, параметром принимающей строку и возвращающей массив слов из этой строки.