Встречается на собеседованиях • сегодня
В чем разница между never, unknown и any
never — тип, означающий, что значение никогда не появится. Используется для функций, которые всегда выбрасывают ошибку или бесконечных циклов.
typescript
function throwError(message: string): never {
throw new Error(message);
}unknown — безопасная альтернатива any. Значение может быть чем угодно, но перед использованием требует проверки типа.
typescript
let value: unknown;
if (typeof value === 'string') {
value.toUpperCase(); // Теперь безопасно
}any — отключает проверку типов. Позволяет присваивать любое значение и вызывать любые методы без ошибок компиляции. Использовать не рекомендуется.
typescript
let anything: any = 'hello';
anything.toFixed(); // Ошибка в runtime, но TypeScript не ругаетсяИтог:
never— "никогда не будет значения"unknown— "может быть чем угодно, но нужно проверить"any— "может быть чем угодно, проверка не нужна (опасно)"

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы