Выбор ответа Middle Базовые типы обновлено

Где появляется never

Вопрос

В каком случае TypeScript сам выводит тип never?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: В ветке после проверки всех вариантов объединения. Если все члены объединения уже отсечены проверками, в оставшейся ветке у значения не осталось возможных типов, и оно получает never.

Варианты ответа

  1. У переменной, которую инициализировали значением null
  2. У функции-объявления, в теле которой нет ни одного return
  3. В ветке после проверки всех вариантов объединенияправильный ответ
  4. У результата JSON.parse, пока тип не уточнён через as

Разбор

Если все члены объединения уже отсечены проверками, в оставшейся ветке у значения не осталось возможных типов, и оно получает never. На этом построена исчерпывающая проверка switch.

Функция без return получает void. JSON.parse возвращает any. Переменная с null получает тип null (или any без strictNullChecks).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.