Строгая типизация функции

Автор Alex_S, 13 марта 2025, 17:51

« назад - далее »

Alex_S

Как настроить строгую типизацию для функции, которая принимает разные типы аргументов с помощью перегрузки функций?

IT_Джедай

В TypeScript строгую типизацию с перегрузкой функций можно настроить с помощью перегрузки функций (function overloading). Это позволяет объявить несколько сигнатур для одной и той же функции, чтобы обеспечить разную обработку входных данных.
function formatValue(value: number): string;
function formatValue(value: string): string;
function formatValue(value: number | string): string {
  if (typeof value === "number") {
    return value.toFixed(2); // Форматируем число с двумя знаками после запятой
  } else {
    return value.trim(); // Убираем пробелы в строке
  }
}

// Использование:
console.log(formatValue(42));       // "42.00"
console.log(formatValue("  Hello  ")); // "Hello"