Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про TypeScript: typescript, any, unknown, types

Чем отличается тип unknown от типа any в TypeScript?

Этот вопрос проверяет понимание ключевых типов TypeScript: unknown и any. Он помогает выявить, как разработчик справляется с безопасностью типов и понимает риски использования неконтролируемых типов.

Короткий ответ

Тип any позволяет переменной принимать любое значение, и с ней можно делать что угодно, но это отключает проверки типов, что может привести к ошибкам. Тип unknown, наоборот, требует явных проверок типа перед использованием, что делает код более безопасным. Использование unknown рекомендуется, когда тип данных заранее неизвестен, но необходимо обеспечить типовую безопасность.

Длинный ответ

В TypeScript тип any предоставляет полную свободу для работы с переменной, но при этом теряется всякая защита типов. Например, если переменной с типом any присвоено значение, TypeScript не будет проверять, можно ли вызывать методы или использовать свойства этой переменной, что может привести к ошибкам на этапе выполнения:

let data: any = "Hello";
// Ошибка будет только на этапе выполнения, а не при компиляции
console.log(data.toFixed()); // TypeError: data.toFixed is not a function

Тип unknown — это более безопасная альтернатива. Как и any, он позволяет присваивать переменной любое значение, но при попытке взаимодействия с этой переменной TypeScript требует явных проверок типа. Это защищает программу от неожиданного поведения. Например:

let value: unknown = "Hello";
// TypeScript не позволит вызвать метод без проверки типа
console.log(value.toFixed()); // Ошибка на этапе компиляции
if (typeof value === "number") {
	console.log(value.toFixed()); // Теперь это безопасно
}

Таким образом, unknown рекомендуется использовать в ситуациях, когда тип значения заранее неизвестен (например, при работе с пользовательскими вводами или данными API). Этот тип помогает создавать более безопасный код, в отличие от any, который убирает все проверки и может привести к ошибкам в неожиданных местах.

Уровень

  • Рейтинг:

    3

  • Сложность:

    2

Навыки

  • TypeScript

    TypeScript

Ключевые слова

#typescript

#any

#unknown

#types

Подпишись на React Developer в телеграм