Для входа любого типа без потери проверки используйте unknown; для сохранения связи входа и выхода — generic T.
Реализуйте типизацию функции так, чтобы она принимала значение любого типа.
Для входа любого типа без потери проверки используйте unknown; для сохранения связи входа и выхода — generic T.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для входа любого типа без потери проверки используйте unknown; для сохранения связи входа и выхода — generic T.
Например, function identity<T>(value: T): T { return value; } возвращает тот же тип. В обработчике function log(value: unknown) перед специфичными операциями потребуется narrowing; any отключает полезные проверки и обычно не нужен.