shakiriker
@shakiriker

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

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

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

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

Войти через центр авторизации
Похожие вопросы