> Что такое типы any и unknown в TypeScript (TypeScript)
Уровень: junior · Роль: frontend · Категория: Технические вопросы
Компании: Иннотех, Инрэко, Kvando Technologies, Soft_Media_Group, ООО Премиум ИТ Солюшен, IT-One, Swetec, ПСБ, EdenAI, Арго, HolyWeb, SmartWay, Altenar
Стек: TypeScript
> Пример ответа
any и unknown - это два специальных типа в TypeScript, которые позволяют обходить строгую типизацию, но с разными уровнями безопасности.
any - это «отключатель» проверки типов. Переменная с типом any может принимать любое значение, и вы можете вызывать на ней любые методы, свойства или присваивать её куда угодно без ошибок компиляции. Это полезно при миграции с JavaScript или работе с динамическими данными, но злоупотребление any сводит на нет преимущества TypeScript.
unknown - это типобезопасная альтернатива any. Переменная с типом unknown также может содержать любое значение, но перед использованием её нужно явно проверить (например, через typeof, instanceof или приведение типов). Компилятор не позволит выполнять с ней операции, пока тип не будет уточнён.
Пример:
TYPESCRIPTlet a: any = "hello";let b: unknown = "hello";a.toUpperCase(); // OK, компилятор не проверяетb.toUpperCase(); // Ошибка: Object is of type 'unknown'// Правильная работа с unknown:if (typeof b === "string") {b.toUpperCase(); // OK, после проверки}
Ключевое различие: any снимает всю защиту типов, unknown требует явной проверки, заставляя писать более надёжный код. В современном TypeScript рекомендуется избегать any и использовать unknown, когда тип заранее неизвестен.
> Похожие задачи по frontend
Что такое интерфейсы и типы в TypeScript, для чего они нужны и чем отличаются?
Как сделать функцию getProperty с типизацией и проверкой ключей в TypeScript?
Что может быть неправильно в решении функции для вычисления площади фигур с использованием типов и интерфейсов TypeScript
Почему проверка типа через instanceof не работает с интерфейсами в TypeScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью