Задать вопрос
@madc0de

Почему в интерфейс не записывается тип boolean?

const q = true;

interface A {
    a?: typeof q // по идее же должен тип boolean задаться переменной
}

const a: A = {a: true} // все ок
const a: A = {a: false} // ошибка
  • Вопрос задан
  • 88 просмотров
Подписаться 1 Простой 7 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
bingo347
@bingo347 Куратор тега TypeScript
Crazy on performance...
В TypeScript есть литеральные типы ('some string', 1, 2, 3, true, false).
Значение константы поменять нельзя, поэтому TypeScript выводит для них литеральный тип.
Поэтому тип q будет не boolean, а true.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы