Какие знаешь альтернативы Any

«Какие знаешь альтернативы Any» — вопрос из категории TypeScript, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Альтернативы any в TypeScript

Для типизации "любого значения" лучше избегать any и использовать более безопасные альтернативы:

  1. unknown - требует явной проверки типа перед использованием
function safeParse(data: unknown) {
  if (typeof data === 'string') {
    return JSON.parse(data);
  }
  return data;
}
  1. Типы-объединения (|) - когда известны возможные варианты
function formatInput(input: string | number) {
  // ...
}
  1. Дженерики - для сохранения информации о типе
function identity<T>(arg: T): T {
  return arg;
}
  1. Type Assertions (только когда точно уверены в типе)
const someValue: unknown = "hello";
const strLength = (someValue as string).length;
  1. Интерфейсы/Типы - для сложных структур с частично известными типами