Напиши тип Junior Объединения и сужение обновлено
Что остаётся после typeof object
Вопрос
Какой тип у v внутри if? Впишите тип.
function f(v: string | Date | null) {
if (typeof v === 'object') {
v; // v: /* ? */
}
}
Попробуйте сами
Напишите тип, как написали бы в коде.
Показать ответ и разбор
Коротко
Правильный тип: Date | null. typeof для Date и для null даёт 'object', а для строки 'string'.
Правильный тип
Date | null
Разбор
typeof для Date и для null даёт 'object', а для строки 'string'. Поэтому строка отсекается, а null остаётся. Это частая ловушка: проверка на 'object' не защищает от null.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.