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

Можно ли назначить тип для пустого объекта в typescript?

const x:{} = {};
насколько я знаю в typscript, невозможно объявить тип пустым объектом, что произойдет, если сделать так. x:{}В 2017 году я получил ошибку. Я не помню, какая версия машинописи у меня была. Но теперь все работает. В чем причина? У меня есть версия^ 3.6.4
  • Вопрос задан
  • 1613 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 2
profesor08
@profesor08
Можно, почему нельзя? Другое дело ты им не сможешь пользоваться нормально. Писать туда можно что угодно, про при попытке прочесть, будет ошибка, намекающая на то, что нужна проверка на наличие свойства в объекте. Все.
Ответ написан
Xuxicheta
@Xuxicheta
инженер
посмотрите как можно и нельзя использовать
тип {} даже более широкий, чем object. Ему соответствует что угодно кроме null и undefined, т.е. любой тип наследуется от него.
Поэтому присвоить ему можно что угодно.
А прочитать ничего нельзя.
В случае юниона надо сначала сузить тип с помощью тайпгарда, чтобы убедить TS что свойство есть.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Record<string, never>

Playground
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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