@lazalu68
Suspended ))

Почему typescript не ругается на отсутствующее обязательное свойство во вложенном объекте?

Существует простенькая система вложенных объектов, для которой тайпскрипт почему-то не указывает на вполне очевидные ошибки типизации вложенных объектов, вот пример (ts 3.5.1).

Если удалить 17ую строку, то ts будет ругаться на отсутствие обязательного для интерфейса Layout свойства class.
Если удалить 23ую строку, то ts будет ругаться на отсутствие обязательного для интерфейса Element свойства type.
А если удалить 29ую строку, то ts ругаться не будет, хотя было удалено свойство type, которое он так яростно защищал в предыдущем пункте.

Такое же поведение наблюдается в IDEA которая использует ts 3.5.3.

Я что-то упускаю из виду или это ошибка ts?
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
@forspamonly2
там есть ограничение уровней вложенности (в районе пяти одинаковых генерик параметров в глубину). говорят, это чтобы не зацикливалось навсегда:

https://github.com/microsoft/TypeScript/issues/239...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Бюро Санкт-Петербург
от 90 000 до 90 000 руб.
Habidatum Москва
от 100 000 до 150 000 руб.