Чем типы `any` и `unknown` отличаются в TypeScript и когда использовать каждый?
СобеседованиеСистема типов
any — отключает проверку типов, позволяет делать со значением что угодно (любой доступ, вызов, присваивание). «Протекает» в другие типы и ломает проверку вниз по цепочке.
unknown — безопаснее: требует сужения типа (type guard, проверка) или явного приведения перед использованием. Останавливает небезопасные операции на границе.
- Используйте
unknown вместо any для внешних данных (API, JSON.parse, пользовательский ввод)