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

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

any отключает проверку типов, позволяя присваивать любые значения и вызывать любые методы без ошибок компиляции. Это может привести к runtime-ошибкам.

unknown требует явной проверки типа перед использованием. Без проверки TypeScript выдаст ошибку компиляции.

typescript
let a: any = 'hello';
a.toUpperCase(); // OK
a = 42; // OK

let b: unknown = 'world';
b.toUpperCase(); // Ошибка: Object is of type 'unknown'
if (typeof b === 'string') {
  b.toUpperCase(); // OK после проверки
}

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

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

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

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

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