> В чем разница между типами void и never в TypeScript (TypeScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: ООО Премиум ИТ Солюшен, IT-One, Altenar
Стек: TypeScript
> Пример ответа
Разница между void и never в TypeScript принципиальна: void обозначает отсутствие возвращаемого значения (функция завершается нормально, но ничего не возвращает), а never - что функция никогда не завершается успешно (например, выбрасывает исключение или входит в бесконечный цикл).
-
voidиспользуется для функций, которые возвращаютundefinedилиnull(в нестрогом режиме). Переменная типаvoidможет быть присвоенаundefinedилиnull(с флагомstrictNullChecks- толькоundefined). -
never- это нижний тип, который никогда не может иметь значения. Он используется в функциях, которые гарантированно не возвращают управление (например,throw new Error()илиwhile(true){}). Такжеneverприменяется в типах-дискриминантах для исчерпывающих проверок (exhaustive checks).
Пример:
TYPESCRIPTfunction logMessage(msg: string): void {console.log(msg); // нормальное завершение}function fail(msg: string): never {throw new Error(msg); // никогда не завершится}
> Похожие задачи по frontend
Работали ли вы с React?
В чем отличие Type и Enum в TypeScript и как они выглядят после компиляции
Что такое дженерики в TypeScript и для чего они используются
Что происходит при объединении полей с конкретными значениями в TypeScript?
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью