В чем разница между Void и Never

«В чем разница между Void и Never» — вопрос из категории TypeScript, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

void означает, что функция ничего не возвращает (или возвращает undefined). Используется для функций без return или с return;.

never означает, что функция никогда не завершается (например, выбрасывает ошибку или бесконечный цикл).

Пример с void:

function logMessage(): void {
  console.log('Hello');
  // Неявно возвращает undefined
}

Пример с never:

function throwError(): never {
  throw new Error('Oops!');
  // Код после throw не выполняется
}

Ключевое отличие: void — функция завершается, never — функция не завершается.