Как корректно типизировать результат функции?

Чтобы корректно типизировать результат функции в TypeScript, нужно использовать встроенный тип "ReturnType".

"ReturnType" - это удобный универсальный тип, который позволяет получить тип возвращаемого значения функции. Он позволяет избежать ручного определения типов для каждой функции.

Для использования "ReturnType" необходимо выполнить следующие шаги:

1. Определите вашу функцию с помощью ключевого слова "function" или выражением стрелочной функции:

function sum(a: number, b: number): number {
  return a + b;
}

2. Используйте "ReturnType" для определения типа значения, возвращаемого функцией:

type SumReturnType = ReturnType<typeof sum>;

3. Теперь тип "SumReturnType" будет автоматически определен как "number", так как функция "sum" возвращает число.

Можно также использовать "ReturnType" напрямую при необходимости определить тип возвращаемого значения функции без использования отдельного типа:

function multiply(a: number, b: number): number {
  return a * b;
}

const result: ReturnType<typeof multiply> = multiply(3, 4);

В этом примере тип "result" автоматически определен как "number", так как функция "multiply" возвращает число.

Таким образом, использование "ReturnType" в TypeScript позволяет более легко и безопасно определять типы возвращаемых значений функций.