Напиши тип Junior Объединения и сужение обновлено
Сужение по typeof
Вопрос
Какое выражение в условии сузит x до string?
function f(x: string | number) {
if (/* ? */) { x.toUpperCase(); }
}
Попробуйте сами
Напишите тип, как написали бы в коде.
Показать ответ и разбор
Коротко
Правильный тип: typeof x === 'string'. Ответ Почему так Компилятор понимает typeof, instanceof, Array.isArray, проверку на null и поля-дискриминаторы.
Правильный тип
typeof x === 'string'
Разбор
Ответ
typeof x === 'string'
Почему так
Компилятор понимает typeof, instanceof, Array.isArray, проверку на null и поля-дискриминаторы. Это встроенные сужения - писать свой предикат для них не нужно.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.