Напиши тип Junior Базовые типы обновлено
Тип let от константы
Вопрос
Какой тип TypeScript выведет для b? Впишите тип вместо /* ? */.
const a = 'ok';
let b = a;
// b: /* ? */
Попробуйте сами
Напишите тип, как написали бы в коде.
Показать ответ и разбор
Коротко
Правильный тип: string. У a литеральный тип 'ok', но при инициализации изменяемой переменной let литерал расширяется до string: позже в b можно записать любую строку.
Правильный тип
string
Разбор
У a литеральный тип 'ok', но при инициализации изменяемой переменной let литерал расширяется до string: позже в b можно записать любую строку. Чтобы оставить литерал, нужна аннотация let b: 'ok' = a.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.