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