Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про TypeScript: TypeScript, void, never, типы, возвращаемое значение

Чем void отличается от never?

Проверяет понимание различий между типами void и never в TypeScript, которые часто путают начинающие разработчики.

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

void означает, что функция возвращает undefined или null, то есть завершается нормально, но без полезного значения. never означает, что функция никогда не завершается (например, выбрасывает исключение или входит в бесконечный цикл). void — это тип для завершённых функций без возврата, never — для незавершённых.

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

Основное различие между void и never

В TypeScript оба типа используются для описания возвращаемых значений функций, но они обозначают принципиально разные ситуации. void указывает, что функция завершается нормально, но не возвращает никакого полезного значения (фактически возвращает undefined). never же говорит, что функция никогда не завершается — либо выбрасывает исключение, либо входит в бесконечный цикл.

Примеры использования

Рассмотрим простые примеры:

function logMessage(msg: string): void {
  console.log(msg);
  // функция завершается, но ничего не возвращает
}

function throwError(msg: string): never {
  throw new Error(msg);
  // после throw выполнение прекращается
}

function infiniteLoop(): never {
  while (true) {
    // бесконечный цикл, функция никогда не завершится
  }
}

Где применяется

  • void — стандартный тип для функций, которые выполняют побочные эффекты (логирование, изменение DOM, запись в файл) и не возвращают значение.
  • never — полезен для функций-обработчиков ошибок, бесконечных циклов (например, в игровых движках) или для проверки полноты типов (exhaustive checks).

Вывод

Используйте void для обычных функций без возврата, а never — когда функция гарантированно не завершится. Это помогает TypeScript точнее анализировать код и избегать ошибок, связанных с недостижимыми путями выполнения.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • TypeScript

    TypeScript

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

#TypeScript

#void

#never

#типы

#возвращаемое значение

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию