Использование any вместо дженериков в TypeScript может быть нежелательно по нескольким причинам:
- Потеря способности правильно проверять типы. 4 При использовании any TypeScript теряет возможность проверять типы на этапе компиляции. 4
- Возможность принятия других типов, кроме необходимых. 4 Функция, описанная под тип any, может принимать любые типы, что не всегда допустимо. 4
- Невозможность использования результата функции как объекта переданного типа. 1 Если в функцию передаётся объект какого-либо класса, и нужно использовать этот объект, например, вызывать у него функции, то это проблематично при использовании any. 1
Дженерики (обобщения) позволяют конкретизировать возвращаемый тип. 1 На момент написания функции можно не знать, что именно это будет за тип, а при выполнении функции вместо обобщения будет подставляться конкретный тип. 1