Встречается на собеседованиях • сегодня

В чем разница между типами any и unknown в TypeScript

any и unknown — оба типа позволяют хранить любое значение, но с разным уровнем безопасности.

  • any: отключает проверку типов. Можно вызывать методы, обращаться к свойствам без ошибок компиляции, даже если их нет.
ts
let value: any = 'hello';
value.toFixed(); // Ошибка в runtime, но TypeScript не ругается
  • unknown: требует явной проверки типа перед использованием. Безопаснее, так как заставляет разработчика подтвердить тип.
ts
let value: unknown = 'hello';
if (typeof value === 'string') {
  value.toUpperCase(); // OK
}
// value.toUpperCase(); // Ошибка компиляции

Вывод: unknown безопаснее, так как требует проверок, any — уход от типизации.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы