Напиши тип Middle Объединения и сужение обновлено
Исчерпывающая проверка
Вопрос
Какому типу нужно присвоить значение в ветке default, чтобы компилятор ловил незакрытые варианты union?
default: {
const _exhaustive: /* ? */ = shape;
throw new Error('неизвестный вариант');
}
Попробуйте сами
Напишите тип, как написали бы в коде.
Показать ответ и разбор
Коротко
Правильный тип: never. Ответ Почему так Если все варианты обработаны, в default остаётся never и присваивание проходит.
Правильный тип
never
Разбор
Ответ
never
Почему так
Если все варианты обработаны, в default остаётся never и присваивание проходит. Добавили вариант и забыли ветку - компилятор падает. Дешёвая и очень действенная защита.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.